/* =============================================================================
   AURA SHOP REDESIGN v5.5
   Category/archive pages: horizontal filters + carousel-identical product cards
   ============================================================================= */

/* =============================================================================
   0. KILL SHOPTIMIZER GRAY HEADER / BREADCRUMB AREA
   The parent theme wraps breadcrumbs in .archive-header with a gray background.
   We remove the hooks in PHP but also nuke the styling for safety.
   ============================================================================= */
body.aura-shop-fullwidth .archive-header,
body.aura-shop-fullwidth .shoptimizer-archive > .archive-header {
    display: none !important;
}

/* Force full-width layout — no sidebar */
body.aura-shop-fullwidth #secondary,
body.aura-shop-fullwidth .widget-area {
    display: none !important;
}

body.aura-shop-fullwidth #primary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

body.aura-shop-fullwidth .col-full {
    max-width: 1400px;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Remove any leftover Shoptimizer archive wrapper padding */
body.aura-shop-fullwidth .shoptimizer-archive {
    padding-top: 0;
}

/* =============================================================================
   1. LAYOUT — Full width, no sidebar
   ============================================================================= */
.aura-shop-redesign {
    max-width: 1400px;
    margin: 0 auto;
    padding: 32px 20px 0;
    box-sizing: border-box;
    overflow-x: hidden;
}

/* =============================================================================
   2. SHOP HEADER (category title + description)
   Clean white header with title + collapsible SEO description.
   "Czytaj więcej" toggle from functions.php integrates naturally.
   ============================================================================= */
.aura-shop-header {
    padding: 0 0 16px;
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e7eb;
    background: transparent !important;
    border-radius: 0 !important;
}

.aura-shop-header h1,
.aura-shop-header .page-title {
    font-size: 24px !important;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px 0 !important;
    line-height: 1.25;
    letter-spacing: -0.01em;
    /* Kill inline Shoptimizer Customizer overrides on h1.woocommerce-products-header__title */
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* Kill inline Customizer styles on .term-description inside our header */
.aura-shop-header .term-description {
    padding: 0 !important;
}

/* Category description — under title, clean readable text */
.aura-shop-header .term-description,
.aura-shop-header .woocommerce-products-header__description {
    font-size: 14px;
    color: #4b5563;
    line-height: 1.7;
    max-width: 820px;
    margin: 0;
}

.aura-shop-header .term-description p,
.aura-shop-header .woocommerce-products-header__description p {
    margin: 0 0 8px 0;
}

.aura-shop-header .term-description p:last-child,
.aura-shop-header .woocommerce-products-header__description p:last-child {
    margin-bottom: 0;
}

/* Expanded description (after "Czytaj więcej") — styled content */
.aura-shop-header .term-description b,
.aura-shop-header .term-description strong {
    color: #1f2937;
    font-weight: 600;
}

.aura-shop-header .term-description ol,
.aura-shop-header .term-description ul {
    padding-left: 20px;
    margin: 8px 0;
    color: #4b5563;
}

.aura-shop-header .term-description ol li,
.aura-shop-header .term-description ul li {
    margin-bottom: 6px;
    line-height: 1.6;
}

.aura-shop-header .term-description h2,
.aura-shop-header .term-description h3,
.aura-shop-header .term-description h4 {
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    margin: 16px 0 6px 0;
}

/* "Czytaj więcej" toggle — green accent */
.aura-shop-header .aura-td-toggle {
    color: #3f880b;
    font-size: 13px;
    font-weight: 600;
}

/* Hide FE chips widget injected into header via woocommerce_archive_description */
.aura-shop-header .wpc-custom-selected-terms {
    display: none;
}

/* =============================================================================
   3. SUBCATEGORY PILLS
   ============================================================================= */
.aura-subcategory-pills {
    margin-bottom: 20px;
    border-bottom: 1px solid #f3f4f6;
    padding-bottom: 16px;
}

.aura-pills-scroll {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 2px 0;
}

.aura-pills-scroll::-webkit-scrollbar {
    display: none;
}

.aura-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
    color: #4b5563;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.15s ease;
    cursor: pointer;
    line-height: 1;
}

.aura-pill:hover {
    background: #f0fdf4;
    border-color: #3f880b;
    color: #3f880b;
    text-decoration: none;
}

.aura-pill.active {
    background: #3f880b;
    border-color: #3f880b;
    color: #ffffff;
}

.aura-pill.active:hover {
    background: #357609;
    border-color: #357609;
    color: #ffffff;
}

.aura-pill-count {
    font-size: 11px;
    font-weight: 400;
    opacity: 0.6;
}

.aura-pill.active .aura-pill-count {
    opacity: 0.8;
}

/* =============================================================================
   4. FILTER BAR (single-line horizontal bar)
   Filters on left, result count + sorting on right — all in one row.
   ============================================================================= */
.aura-filter-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 10px;
}

.aura-filter-bar-filters {
    display: contents;
}

.aura-filter-bar-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    margin-left: auto;
}

/* Sort dropdown */
.aura-filter-bar-controls .woocommerce-ordering {
    margin: 0;
}

.aura-filter-bar-controls .woocommerce-ordering select {
    font-size: 13px;
    padding: 7px 30px 7px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background-color: #ffffff;
    color: #374151;
    cursor: pointer;
    min-width: 180px;
    appearance: auto;
}

.aura-filter-bar-controls .woocommerce-result-count {
    font-size: 13px;
    color: #9ca3af;
    margin: 0;
    white-space: nowrap;
}

/* --- Hide Filter Everything's own mobile UI in our desktop bar --- */
.aura-filter-bar .wpc-filters-open-button-container,
.aura-filter-bar .wpc-widget-close-container,
.aura-filter-bar .wpc-filters-widget-top-container,
.aura-filter-bar .wpc-filters-widget-controls-container,
.aura-filter-bar .wpc-spinner,
.aura-filter-bar .wpc-posts-found,
.aura-filter-bar .wpc-filter-set-widget-title,
.aura-filter-bar .wpc-edit-filter-set {
    display: none !important;
}

/* Reset FE wrapper styles — use display:contents to flatten the 6-level deep
   hierarchy so .wpc-filters-section items become direct flex children of .aura-filter-bar.
   DOM chain: .aura-filter-bar-filters > .widget > .wpc-filters-main-wrap >
   .wpc-filters-widget-content > .wpc-filters-widget-containers-wrapper >
   .wpc-filters-scroll-container > .wpc-filters-widget-wrapper > .wpc-filters-section */
.aura-filter-bar .widget,
.aura-filter-bar .wpc-filters-main-wrap,
.aura-filter-bar .wpc-filters-widget-content,
.aura-filter-bar .wpc-filters-widget-containers-wrapper,
.aura-filter-bar .wpc-filters-scroll-container,
.aura-filter-bar .wpc-filters-widget-wrapper {
    display: contents !important;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
}

/* --- Each filter section = a compact dropdown trigger --- */
.aura-filter-bar .wpc-filters-section {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* Filter title = dropdown button */
.aura-filter-bar .wpc-filter-header {
    margin: 0;
    padding: 0;
}

.aura-filter-bar .wpc-filter-header .wpc-filter-title {
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    padding: 7px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    transition: border-color 0.15s, background-color 0.15s, color 0.15s;
    line-height: 1.2;
    user-select: none;
}

.aura-filter-bar .wpc-filter-header .wpc-filter-title:hover {
    border-color: #3f880b;
    color: #3f880b;
}

/* Chevron icon via pseudo-element */
.aura-filter-bar .wpc-filter-header .wpc-filter-title::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 3.5px solid transparent;
    border-right: 3.5px solid transparent;
    border-top: 4px solid #9ca3af;
    margin-left: 4px;
    transition: transform 0.15s;
}

.aura-filter-bar .wpc-filters-section.aura-filter-open .wpc-filter-header .wpc-filter-title {
    border-color: #3f880b;
    background: #f0fdf4;
    color: #3f880b;
}

.aura-filter-bar .wpc-filters-section.aura-filter-open .wpc-filter-header .wpc-filter-title::after {
    transform: rotate(180deg);
    border-top-color: #3f880b;
}

/* Hide the collapsible button/icons from FE inside the title */
.aura-filter-bar .wpc-filter-title button {
    all: unset;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

.aura-filter-bar .wpc-filter-title .wpc-open-icon,
.aura-filter-bar .wpc-filter-title .wpc-selected-values-list {
    display: none !important;
}

/* Filter content = hidden dropdown panel.
   !important needed: FE's .wpc-filter-has-selected .wpc-filter-content { display:block }
   forces the panel open when any option is checked (e.g. via URL params like aura_c=...).
   We must win that cascade battle so dropdowns stay closed until user clicks. */
.aura-filter-bar .wpc-filter-content {
    display: none !important;
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    padding: 12px 14px;
    min-width: 220px;
    max-height: 320px;
    overflow-y: auto;
    margin-top: 4px;
    white-space: nowrap;
}

/* Show when section has our open class (must also use !important to beat the hide rule above) */
.aura-filter-bar .wpc-filters-section.aura-filter-open > .wpc-filter-content,
.aura-filter-bar .wpc-filters-section.aura-filter-open > .wpc-filter-header + .wpc-filter-content {
    display: block !important;
}

/* Filter items inside dropdown */
.aura-filter-bar .wpc-term-item {
    padding: 2px 0;
}

.aura-filter-bar .wpc-term-item label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #374151;
    cursor: pointer;
    line-height: 1.4;
}

.aura-filter-bar .wpc-term-item label a.wpc-filter-link {
    color: #374151;
    text-decoration: none;
}

.aura-filter-bar .wpc-term-item label a.wpc-filter-link:hover {
    color: #3f880b;
}

.aura-filter-bar .wpc-term-count {
    font-size: 11px;
    color: #9ca3af;
}

.aura-filter-bar .wpc-term-item input[type="checkbox"],
.aura-filter-bar .wpc-term-item input[type="radio"] {
    width: 14px;
    height: 14px;
    accent-color: #3f880b;
    cursor: pointer;
    flex-shrink: 0;
}

.aura-filter-bar .wpc-term-selected label a.wpc-filter-link {
    color: #3f880b;
    font-weight: 600;
}

/* Filter list */
.aura-filter-bar .wpc-filters-ul-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.aura-filter-bar .wpc-filters-ul-list .children {
    list-style: none;
    margin: 0;
    padding-left: 18px;
}

/* See more / see less */
.aura-filter-bar .wpc-see-more-control,
.aura-filter-bar .wpc-see-less-control {
    font-size: 12px;
    color: #3f880b;
    text-decoration: none;
    margin-top: 6px;
    display: inline-block;
}

/* Search inside filter */
.aura-filter-bar .wpc-filter-search-wrapper {
    margin-bottom: 8px;
}

.aura-filter-bar .wpc-filter-search-field {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 13px;
    box-sizing: border-box;
}

/* Mobile filter toggle button */
.aura-mobile-filter-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #ffffff;
    color: #374151;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.2s;
    width: 100%;
    justify-content: center;
}

.aura-mobile-filter-toggle:hover {
    border-color: #3f880b;
}

.aura-mobile-filter-toggle svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
}

/* =============================================================================
   5. ACTIVE FILTER CHIPS
   ============================================================================= */
.aura-active-chips {
    margin-bottom: 16px;
}

.aura-active-chips:empty {
    display: none;
}

.aura-active-chips .wpc-filter-chips-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.aura-active-chips .wpc-empty-chips-container {
    display: none;
}

.aura-active-chips .wpc-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 16px;
    font-size: 12px;
    color: #166534;
    text-decoration: none;
}

.aura-active-chips .wpc-filter-chip:hover {
    background: #dcfce7;
}

/* =============================================================================
   6. PRODUCT GRID (CSS Grid)
   ============================================================================= */
.aura-products-grid {
    margin-bottom: 32px;
}

/* Override WooCommerce default list styling.
   Shoptimizer @media(<500px) sets: ul.products { display:flex; width:calc(100%+30px); margin-left:-15px }
   We must override display, width, and margin with !important. */
.aura-products-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.aura-products-grid ul.products::before,
.aura-products-grid ul.products::after {
    display: none !important;
}

/* Remove default WooCommerce float/width.
   Specificity must beat style.css: body ul.products.columns-5 li.product (0,3,3).
   We use body .aura-products-grid ul.products li.product = (0,3,3) + source order wins. */
body .aura-products-grid ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: none !important;
}

@media (min-width: 768px) {
    .aura-products-grid ul.products {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px !important;
    }
}

@media (min-width: 1024px) {
    .aura-products-grid ul.products {
        grid-template-columns: repeat(5, 1fr);
        gap: 16px !important;
    }
}

/* =============================================================================
   7. PRODUCT CARDS (carousel-identical structure)
   Structure: li > .product-wrapper > .product-content + .add-to-cart-wrapper
   This matches the homepage carousel exactly.
   ============================================================================= */

/* --- Card container --- */
.aura-products-grid ul.products li.product {
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
    display: flex;
    flex-direction: column;
    box-sizing: border-box !important;
    float: none !important;
    position: relative !important;
}

/* --- Reset Shoptimizer inline-CSS that competes with grid cards --- */
.aura-products-grid ul.products li.product .button,
.aura-products-grid ul.products li.product .add_to_cart_button {
    position: static !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
}
.aura-products-grid .woocommerce-loop-product__title,
.aura-products-grid .woocommerce-card__header,
.aura-products-grid .add-to-cart-wrapper,
.aura-products-grid .product-wrapper,
.aura-products-grid .product-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.aura-products-grid ul.products li.product:hover {
    border-color: #e5e7eb;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

/* Remove Shoptimizer default card pseudo-element */
.aura-products-grid ul.products li.product::before {
    display: none !important;
    box-shadow: none !important;
}

/* --- Product wrapper (carousel identical — flex column, full height) --- */
.aura-products-grid .product-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.aura-products-grid .product-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* --- Image --- */
.aura-products-grid .woocommerce-image__wrapper {
    position: relative;
    overflow: hidden;
    margin: 0;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f7f7f7;
    border-radius: 8px;
}

.aura-products-grid .woocommerce-image__wrapper a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 0; /* collapse any inline whitespace */
}

.aura-products-grid .woocommerce-image__wrapper img {
    width: 100% !important;
    height: 100% !important;       /* override global img { height: auto } from parent theme */
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    margin: 0 !important;
    border-radius: 0;
}

/* Hover gallery image */
.aura-products-grid .woocommerce-image__wrapper .secondary-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.aura-products-grid li.product:hover .secondary-image {
    opacity: 1;
}

/* --- Card header (category + title) --- */
.aura-products-grid .woocommerce-card__header {
    padding: 10px 12px 0;
    line-height: 16px !important;
    box-shadow: none !important;
}

/* Category label — hidden on archive/shop listing */
.aura-products-grid .product__categories {
    display: none;
}

/* Title */
.aura-products-grid .woocommerce-loop-product__title {
    margin: 0 !important;
    padding: 0 !important;
}

/* Base <a> font = 11px for ingredients text (between <br> tags).
   The <b> product name overrides back to 12px below.
   The <small> brand line is hidden entirely. */
.aura-products-grid .woocommerce-loop-product__title a {
    font-size: 11px !important;
    color: #2c2d33 !important;
    line-height: 15px !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

/* Product name (bold) — stays at 12px, stands out from ingredients */
.aura-products-grid .woocommerce-loop-product__title a b {
    font-size: 12px !important;
    line-height: 16px !important;
    display: inline;
}

/* Hide brand line ("Adaptogeny Aura Care..." etc.) — only on listing */
.aura-products-grid .woocommerce-loop-product__title a small {
    display: none !important;
}

/* --- Sales info (carousel identical — SVG checkmark circle) --- */
.aura-products-grid .sales-info-item {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    margin-top: auto !important;
    padding: 0 12px;
    font-size: 12px !important;
}

.aura-products-grid .sales-info-item svg {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    color: #6b7280;
}

.aura-products-grid .sales-text {
    font-size: 12px !important;
    color: #000;
    font-weight: 400;
    margin: 0;
    padding: 0;
}

.aura-products-grid .sales-number {
    font-weight: 500;
}

.aura-products-grid .sales-period {
    font-weight: 400;
}

/* --- TrustMate multihornet stars (injected by TrustMate plugin JS) --- */
.aura-products-grid .tm-multihornet {
    margin: 4px 0 0 0;
}

.aura-products-grid .tm-multihornet__wrapper {
    padding: 0 !important;
}

.aura-products-grid .tm-grade-label {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.aura-products-grid .tm-grade-label__star,
.aura-products-grid .tm-grade-label__half-star {
    display: inline-flex !important;
    align-items: center !important;
}

.aura-products-grid .tm-grade-label__star img.trustmate-star__icon {
    height: 20px !important;
    width: auto !important;
}

.aura-products-grid .tm-grade-label__text {
    font-size: 13px !important;
    color: #1f2937 !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* --- Price --- */
.aura-products-grid .price {
    display: block;
    font-size: 16px !important;
    padding: 2px 12px 0 !important;
    margin: 0 !important;
}

/* Hide strikethrough (regular) price, Aura Points message, and stray <br>
   on listing — only show current price. Sale badge (-18%) on image stays. */
.aura-products-grid .price del,
.aura-products-grid .price .simpleshopmessage,
.aura-products-grid .price .screen-reader-text {
    display: none !important;
}

.aura-products-grid .price br {
    display: none !important;
}

.aura-products-grid .price ins {
    color: #2c2d33 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* --- Add to cart wrapper (separate, pushed to bottom via margin-top: auto) --- */
.aura-products-grid .add-to-cart-wrapper {
    margin-top: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 12px 12px;
}

.aura-products-grid .add-to-cart-wrapper .button,
.aura-products-grid .add-to-cart-wrapper .add_to_cart_button,
.aura-products-grid .add-to-cart-wrapper .product_type_simple,
.aura-products-grid .add-to-cart-wrapper .product_type_variable {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    background: #3f880b !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-transform: none !important;
    transition: background-color 0.2s ease !important;
    cursor: pointer !important;
    line-height: 1.3 !important;
}

.aura-products-grid .add-to-cart-wrapper .button:hover,
.aura-products-grid .add-to-cart-wrapper .add_to_cart_button:hover {
    background: #336d09 !important;
}

/* "View cart" link */
.aura-products-grid .add-to-cart-wrapper .added_to_cart {
    display: none !important;
}

/* --- Sale badge --- */
.aura-products-grid .product-label.type-bubble,
.aura-products-grid .onsale {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 2;
    background: #ef4444 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
    line-height: 1 !important;
    display: flex !important;
    flex-flow: row wrap !important;
    justify-content: center !important;
    pointer-events: none !important;
}

/* --- Custom badge (group/team icon) --- */
.aura-products-grid .product-badge.custom-badge {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    z-index: 2;
    background: #3f880b;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aura-products-grid .product-badge.custom-badge svg {
    width: 18px;
    height: 18px;
}

/* --- KIDS badge --- */
.aura-products-grid .ckit-badge_wrapper {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    z-index: 2;
}

.aura-products-grid .ckit-badge {
    font-size: 11px !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
}

/* --- Out of stock --- */
.aura-products-grid .out-of-stock-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    background: rgba(0, 0, 0, 0.6);
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
}

/* =============================================================================
   8. PAGINATION
   Shoptimizer overrides to neutralize:
     - .next/.prev { text-indent:-9999px } + ::after SVG mask arrows
     - .page-numbers.current { color:#dc9814 }
     - .site-main nav.navigation li span.current { opacity:0.5 }
   ============================================================================= */
.aura-shop-pagination {
    margin: 32px 0;
}

.aura-shop-pagination .woocommerce-pagination {
    text-align: center;
}

.aura-shop-pagination .woocommerce-pagination ul {
    display: inline-flex !important;
    gap: 6px;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.aura-shop-pagination .woocommerce-pagination ul li {
    margin: 0 !important;
    padding: 0 !important;
}

/* --- All page number elements (links + current span) --- */
.aura-shop-pagination .woocommerce-pagination ul li a,
.aura-shop-pagination .woocommerce-pagination ul li span,
.aura-shop-pagination .woocommerce-pagination .page-numbers li .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px;
    height: 40px;
    padding: 0 10px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 500;
    color: #374151 !important;
    background: #ffffff !important;
    text-decoration: none !important;
    text-indent: 0 !important;       /* kill Shoptimizer text-indent:-9999px */
    opacity: 1 !important;           /* kill .site-main nav li span.current opacity:0.5 */
    position: relative;
    transition: all 0.15s ease;
    line-height: 1 !important;
    box-sizing: border-box;
}

/* Kill Shoptimizer ::after SVG mask arrows on prev/next */
.aura-shop-pagination .woocommerce-pagination .next::after,
.aura-shop-pagination .woocommerce-pagination .prev::after,
.aura-shop-pagination .woocommerce-pagination a.next::after,
.aura-shop-pagination .woocommerce-pagination a.prev::after {
    display: none !important;
    content: none !important;
}

/* --- Hover state --- */
.aura-shop-pagination .woocommerce-pagination ul li a:hover {
    background: #f0fdf4 !important;
    border-color: #3f880b !important;
    color: #3f880b !important;
}

/* --- Active/current page --- */
.aura-shop-pagination .woocommerce-pagination ul li span.current,
.aura-shop-pagination .woocommerce-pagination .page-numbers li .page-numbers.current {
    background: #3f880b !important;
    border-color: #3f880b !important;
    color: #ffffff !important;
    font-weight: 600;
    opacity: 1 !important;
}

/* --- Prev/Next arrows — use inline text (← →) with normal font rendering --- */
.aura-shop-pagination .woocommerce-pagination ul li a.prev,
.aura-shop-pagination .woocommerce-pagination ul li a.next {
    font-size: 16px !important;
    color: #6b7280 !important;
    background: #ffffff !important;
}

.aura-shop-pagination .woocommerce-pagination ul li a.prev:hover,
.aura-shop-pagination .woocommerce-pagination ul li a.next:hover {
    color: #3f880b !important;
    border-color: #3f880b !important;
    background: #f0fdf4 !important;
}

/* --- Dots (ellipsis) --- */
.aura-shop-pagination .woocommerce-pagination ul li span.dots,
.aura-shop-pagination .woocommerce-pagination .page-numbers li .page-numbers.dots {
    border-color: transparent !important;
    background: transparent !important;
    color: #9ca3af !important;
    min-width: 28px;
    padding: 0 4px !important;
    cursor: default;
}

/* --- "Show all products" button (below pagination) --- */
.aura-show-all-wrap {
    text-align: center;
    margin: 8px 0 16px;
}

.aura-show-all-btn {
    display: inline-block;
    padding: 10px 24px;
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.15s ease;
}

.aura-show-all-btn:hover {
    border-color: #3f880b;
    color: #3f880b;
    background: #f0fdf4;
    text-decoration: none;
}

/* =============================================================================
   9. NO PRODUCTS FOUND
   ============================================================================= */
.aura-no-products {
    text-align: center;
    padding: 60px 20px;
}

.aura-no-products .woocommerce-info {
    background: #f9fafb;
    border-left: 4px solid #3f880b;
    border-radius: 8px;
    padding: 16px 24px;
    font-size: 14px;
    color: #374151;
}

/* =============================================================================
   10. MOBILE FILTER DRAWER
   ============================================================================= */
.aura-mobile-drawer {
    position: fixed;
    top: 0;
    right: -100%;
    width: 85%;
    max-width: 400px;
    height: 100vh;
    height: 100dvh;
    background: #ffffff;
    z-index: 99999;
    transition: right 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
}

.aura-mobile-drawer.open {
    right: 0;
}

.aura-mobile-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.aura-mobile-overlay.visible {
    opacity: 1;
    visibility: visible;
}

.aura-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.aura-drawer-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
}

.aura-drawer-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: #6b7280;
    transition: color 0.2s;
}

.aura-drawer-close:hover {
    color: #1f2937;
}

.aura-drawer-close svg {
    width: 20px;
    height: 20px;
}

.aura-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
    -webkit-overflow-scrolling: touch;
}

.aura-mobile-section {
    margin-bottom: 24px;
}

.aura-mobile-section-title {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 10px 0;
}

/* Pills in drawer — wrap instead of scroll */
.aura-drawer-body .aura-pills-scroll {
    flex-wrap: wrap;
    overflow-x: visible;
}

/* FE widgets in mobile drawer — reset to vertical stacked */
.aura-drawer-body .wpc-filters-open-button-container,
.aura-drawer-body .wpc-widget-close-container,
.aura-drawer-body .wpc-filters-widget-top-container,
.aura-drawer-body .wpc-filters-widget-controls-container,
.aura-drawer-body .wpc-spinner,
.aura-drawer-body .wpc-posts-found,
.aura-drawer-body .wpc-filter-set-widget-title,
.aura-drawer-body .wpc-edit-filter-set {
    display: none !important;
}

.aura-drawer-body .wpc-filters-main-wrap {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
}

.aura-drawer-body .wpc-filters-widget-content {
    display: block !important;
    position: static !important;
    background: none !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    overflow: visible !important;
}

.aura-drawer-body .wpc-filters-widget-wrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.aura-drawer-body .wpc-filter-header .wpc-filter-title {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    padding: 0 0 8px 0;
    border-bottom: 1px solid #f3f4f6;
    cursor: default;
    display: block;
    background: none;
    border-radius: 0;
}

.aura-drawer-body .wpc-filter-header .wpc-filter-title::after {
    display: none;
}

.aura-drawer-body .wpc-filter-content {
    display: block !important;
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 8px !important;
    min-width: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: none !important;
}

.aura-drawer-body .wpc-filters-ul-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.aura-drawer-body .wpc-term-item,
.aura-drawer-body .wpc-filters-main-wrap li.wpc-term-item {
    margin: 0 !important;
    padding: 0;
}

.aura-drawer-body .wpc-term-item label {
    font-size: 14px;
    padding: 4px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.aura-drawer-footer {
    display: flex;
    gap: 10px;
    padding: 16px 20px;
    border-top: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.aura-drawer-footer button {
    flex: 1;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
}

.aura-btn-apply {
    background: #3f880b;
    color: #ffffff;
}

.aura-btn-apply:hover {
    background: #2f6608;
}

.aura-btn-reset {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb !important;
}

.aura-btn-reset:hover {
    background: #f3f4f6;
}

/* --- Relocated filter widgets in mobile drawer (moved from desktop bar by JS) ---
   CRITICAL: Must override Filter Everything's mobile CSS which sets:
     body.wpc_show_bottom_widget .wpc-filters-widget-content {
         position: fixed; transform: translate3d(0,120%,0);
     }
   We remove .wpc_show_bottom_widget from body in JS, but also override here for safety. --- */
#aura-mobile-filter-slot .widget,
#aura-mobile-filter-slot .wpc-filters-main-wrap,
#aura-mobile-filter-slot .wpc-filters-widget-content,
#aura-mobile-filter-slot .wpc-filters-widget-containers-wrapper,
#aura-mobile-filter-slot .wpc-filters-scroll-container,
#aura-mobile-filter-slot .wpc-filters-widget-wrapper {
    display: block !important;
    position: static !important;
    transform: none !important;
    transition: none !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    max-height: none !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    -webkit-overflow-scrolling: auto !important;
}

#aura-mobile-filter-slot .wpc-filters-widget-wrapper {
    display: flex !important;
    flex-direction: column;
    gap: 20px;
}

/* Each filter section — stacked vertically, fully expanded */
#aura-mobile-filter-slot .wpc-filters-section {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* Filter title — section header style (not dropdown button) */
#aura-mobile-filter-slot .wpc-filter-header .wpc-filter-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    padding: 0 0 8px 0 !important;
    border: none !important;
    border-bottom: 1px solid #f3f4f6 !important;
    border-radius: 0 !important;
    background: none !important;
    cursor: default !important;
    display: block !important;
    white-space: normal !important;
}

#aura-mobile-filter-slot .wpc-filter-header .wpc-filter-title::after {
    display: none !important;
}

#aura-mobile-filter-slot .wpc-filter-title button {
    all: unset;
    display: inline;
}

#aura-mobile-filter-slot .wpc-filter-title .wpc-open-icon,
#aura-mobile-filter-slot .wpc-filter-title .wpc-selected-values-list {
    display: none !important;
}

/* Filter content — always visible, not a dropdown.
   Override FE's .wpc-closed which sets display:none on .wpc-filter-content */
#aura-mobile-filter-slot .wpc-filter-content,
#aura-mobile-filter-slot .wpc-filter-collapsible.wpc-closed .wpc-filter-content,
#aura-mobile-filter-slot .wpc-filters-section.wpc-closed .wpc-filter-content {
    display: block !important;
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 10px !important;
    min-width: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: none !important;
    transform: none !important;
    height: auto !important;
}

#aura-mobile-filter-slot .wpc-filters-ul-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#aura-mobile-filter-slot .wpc-term-item,
#aura-mobile-filter-slot .wpc-filters-main-wrap li.wpc-term-item {
    padding: 3px 0;
    margin: 0 !important;
}

#aura-mobile-filter-slot .wpc-term-item label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    line-height: 1.4;
}

#aura-mobile-filter-slot .wpc-term-item label a.wpc-filter-link {
    color: #374151;
    text-decoration: none;
}

#aura-mobile-filter-slot .wpc-term-selected label a.wpc-filter-link {
    color: #3f880b;
    font-weight: 600;
}

#aura-mobile-filter-slot .wpc-term-item input[type="checkbox"],
#aura-mobile-filter-slot .wpc-term-item input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #3f880b;
    cursor: pointer;
    flex-shrink: 0;
}

#aura-mobile-filter-slot .wpc-term-count {
    font-size: 12px;
    color: #9ca3af;
}

/* Hide FE internal UI elements inside mobile slot */
#aura-mobile-filter-slot .wpc-filters-open-button-container,
#aura-mobile-filter-slot .wpc-widget-close-container,
#aura-mobile-filter-slot .wpc-filters-widget-top-container,
#aura-mobile-filter-slot .wpc-filters-widget-controls-container,
#aura-mobile-filter-slot .wpc-spinner,
#aura-mobile-filter-slot .wpc-posts-found,
#aura-mobile-filter-slot .wpc-filter-set-widget-title,
#aura-mobile-filter-slot .wpc-edit-filter-set {
    display: none !important;
}

/* Search inside mobile filter */
#aura-mobile-filter-slot .wpc-filter-search-wrapper {
    margin-bottom: 8px;
}

#aura-mobile-filter-slot .wpc-filter-search-field {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    box-sizing: border-box;
}

/* See more / see less inside mobile */
#aura-mobile-filter-slot .wpc-see-more-control,
#aura-mobile-filter-slot .wpc-see-less-control {
    font-size: 13px;
    color: #3f880b;
    text-decoration: none;
    margin-top: 6px;
    display: inline-block;
}

/* Children (nested categories) */
#aura-mobile-filter-slot .wpc-filters-ul-list .children {
    list-style: none;
    margin: 0;
    padding-left: 24px;
}

/* --- Sort dropdown in mobile drawer --- */
#aura-mobile-sort-slot {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#aura-mobile-sort-slot .woocommerce-result-count {
    font-size: 13px;
    color: #9ca3af;
    margin: 0;
}

#aura-mobile-sort-slot .woocommerce-ordering {
    margin: 0;
    width: 100%;
}

#aura-mobile-sort-slot .woocommerce-ordering select {
    width: 100%;
    font-size: 14px;
    padding: 10px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background-color: #ffffff;
    color: #374151;
    cursor: pointer;
    appearance: auto;
    box-sizing: border-box;
}

/* =============================================================================
   11. RESPONSIVE
   ============================================================================= */

/* --- Mobile: < 768px --- */
@media (max-width: 767px) {
    /* =====================================================================
       MOBILE CONTAINER FIX

       Shoptimizer's .col-full uses box-sizing:content-box with ~42px padding
       per side. On a 375px viewport that leaves only ~291px for content.
       We override to border-box + 12px padding = 351px content area.
       ===================================================================== */
    .aura-shop-redesign {
        padding: 12px 16px 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Header — compact on mobile */
    .aura-shop-header {
        padding: 0 0 12px;
    }

    .aura-shop-header h1,
    .aura-shop-header .page-title {
        font-size: 20px !important;
    }

    /* Hide desktop filter bar visually but keep in DOM for JS widget relocation.
       display:none would work too (jQuery can still select children of hidden
       elements), but we keep it accessible to avoid potential FE initialization issues. */
    .aura-filter-bar {
        display: none;
    }

    /* Hide FE's own mobile open button and overlay — we use our own drawer */
    .wpc-filters-open-button-container,
    .wpc-open-close-filters-button,
    .wpc-filters-overlay {
        display: none !important;
    }

    .aura-mobile-filter-toggle {
        display: flex;
        margin-bottom: 16px;
    }

    /* =====================================================================
       MOBILE PRODUCT GRID

       Shoptimizer inline CSS applies these competing rules:
       @media(<500px): ul.products { display:flex; width:calc(100%+30px); margin-left:-15px }
       @media(<768px): ul.products li.product { width:100% }
       @media(<992px): ul.products li.product { float:left; width:33.333% }

       We MUST override display, width, margin on ul.products AND
       width, float, padding on li.product — all with !important.
       ===================================================================== */
    .aura-products-grid ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        flex-wrap: unset !important;
    }

    .aura-products-grid ul.products li.product {
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        float: none !important;
        box-sizing: border-box !important;
        flex-wrap: unset !important;
        align-self: stretch !important;
    }

    /* Card header */
    .aura-products-grid .woocommerce-card__header {
        padding: 8px 10px 0;
    }

    .aura-products-grid .product__categories {
        font-size: 9px;
    }

    .aura-products-grid .woocommerce-loop-product__title a {
        font-size: 10px !important;
        line-height: 14px !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }

    .aura-products-grid .woocommerce-loop-product__title a b {
        font-size: 11px !important;
        line-height: 15px !important;
    }

    /* Product content — no clipping, let grid handle sizing */
    .aura-products-grid .product-content {
        overflow: visible;
        min-width: 0 !important;
    }

    .aura-products-grid .sales-info-item {
        padding: 0 10px;
        font-size: 11px !important;
    }

    .aura-products-grid .sales-info-item svg {
        width: 12px;
        height: 12px;
    }

    .aura-products-grid .sales-text {
        font-size: 11px !important;
    }

    .aura-products-grid .tm-multihornet {
        margin: 2px 0 0 0;
    }

    .aura-products-grid .tm-grade-label__star img.trustmate-star__icon {
        height: 16px !important;
    }

    .aura-products-grid .tm-grade-label__text {
        font-size: 12px !important;
    }

    .aura-products-grid .price {
        padding: 2px 10px 0 !important;
        font-size: 14px !important;
    }

    .aura-products-grid .price del {
        font-size: 11px !important;
    }

    /* Add-to-cart: ensure button stays on ONE line */
    .aura-products-grid .add-to-cart-wrapper {
        padding: 8px 10px 10px;
    }

    .aura-products-grid .add-to-cart-wrapper .button,
    .aura-products-grid .add-to-cart-wrapper .add_to_cart_button,
    .aura-products-grid .add-to-cart-wrapper .product_type_simple,
    .aura-products-grid .add-to-cart-wrapper .product_type_variable {
        padding: 9px 6px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        line-height: 1.2 !important;
        position: static !important;
        opacity: 1 !important;
        height: auto !important;
    }

    /* Pagination — smaller touch targets on mobile */
    .aura-shop-pagination .woocommerce-pagination ul li a,
    .aura-shop-pagination .woocommerce-pagination ul li span,
    .aura-shop-pagination .woocommerce-pagination .page-numbers li .page-numbers {
        min-width: 36px;
        height: 36px;
        font-size: 13px !important;
        border-radius: 8px !important;
    }
}

/* --- Tablet: 768px - 1023px --- */
@media (min-width: 768px) and (max-width: 1023px) {
    .aura-products-grid ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 14px !important;
    }
}

/* --- Desktop: >= 1024px --- */
@media (min-width: 1024px) {
    .aura-products-grid ul.products {
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 16px !important;
    }

    .aura-pill {
        font-size: 13px;
    }

    .aura-pills-scroll {
        flex-wrap: wrap;
    }
}

/* =============================================================================
   12. LOADING STATE (during AJAX filter)
   ============================================================================= */
.aura-products-grid.loading {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.2s;
}

/* =============================================================================
   13. FOOTER SEPARATOR
   Adds a clear visual divider between shop content and the newsletter/footer.
   ============================================================================= */
body.aura-shop-fullwidth .aura-prefooter-newsletter-trust {
    border-top: 1px solid #e5e7eb;
    margin-top: 20px;
    padding-top: 32px;
}

/* =============================================================================
   14. CUSTOM ATTRIBUTE FILTERS (zastosowanie, składniki)
   ============================================================================= */
.aura-custom-filter {
    position: relative;
}

.aura-custom-filter-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #ffffff;
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.2;
    transition: border-color 0.15s, background-color 0.15s, color 0.15s;
    user-select: none;
}

.aura-custom-filter-trigger:hover {
    border-color: #3f880b;
    color: #3f880b;
}

.aura-custom-filter.open .aura-custom-filter-trigger,
.aura-custom-filter.has-active .aura-custom-filter-trigger {
    border-color: #3f880b;
    background: #f0fdf4;
    color: #3f880b;
}

.aura-filter-chevron {
    transition: transform 0.15s;
    flex-shrink: 0;
}

.aura-custom-filter.open .aura-filter-chevron {
    transform: rotate(180deg);
}

.aura-filter-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: #3f880b;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}

.aura-custom-filter-dropdown {
    display: none;
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    padding: 10px 14px;
    min-width: 220px;
    max-height: 320px;
    overflow-y: auto;
    margin-top: 4px;
}

.aura-custom-filter.open .aura-custom-filter-dropdown {
    display: block;
}

.aura-custom-filter-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.aura-custom-filter-item {
    padding: 3px 0;
}

.aura-custom-filter-item label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #374151;
    cursor: pointer;
    line-height: 1.4;
}

.aura-custom-filter-item.selected label {
    color: #3f880b;
    font-weight: 600;
}

.aura-custom-filter-item input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #3f880b;
    cursor: pointer;
    flex-shrink: 0;
}

.aura-cf-label {
    flex: 1;
}

.aura-cf-count {
    font-size: 12px;
    color: #9ca3af;
    font-weight: 400;
}

/* Mobile drawer: attribute filters expanded (no dropdown) */
.aura-drawer-body .aura-mobile-attr-filter {
    list-style: none;
    margin: 0;
    padding: 0;
}

.aura-drawer-body .aura-mobile-attr-filter .aura-custom-filter-item label {
    font-size: 14px;
    padding: 4px 0;
}

.aura-drawer-body .aura-mobile-attr-filter .aura-custom-filter-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
}

/* =============================================================================
   15. PRINT
   ============================================================================= */
@media print {
    .aura-subcategory-pills,
    .aura-filter-bar,
    .aura-mobile-filter-toggle,
    .aura-mobile-drawer,
    .aura-mobile-overlay,
    .aura-active-chips,
    .aura-shop-pagination {
        display: none !important;
    }

    .aura-products-grid ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
