:root {
    /* ── awa-plp — design tokens ─── */
    --awa-plp-c1: var(--awa-whatsapp, #25d366);
}

/* AWA PLP Final Polish
   Scope: category + search result + homepage (B2B Price Gate support)
*/

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) {
    --awa-plp-final-surface: var(--awa-surface, #fff);
    --awa-plp-final-surface-soft: var(--awa-bg-soft, #f8fafc);
    --awa-plp-final-border: var(--awa-border, #dbe4ee);
    --awa-plp-final-border-strong: color-mix(in srgb, var(--awa-border, #dbe4ee) 82%, var(--awa-text-primary, #1f2937));
    --awa-plp-final-text: var(--awa-text-primary, #1f2937);
    --awa-plp-final-muted: var(--awa-text-secondary, #64748b);
    --awa-plp-text-secondary: var(--awa-plp-text-secondary, #475569);
    --awa-plp-text-tertiary: var(--awa-plp-text-tertiary, #334155);
    --awa-plp-final-shadow-sm: 0 6px 16px rgb(15 23 42 / 4%);
    --awa-plp-final-shadow-md: 0 12px 30px rgb(15 23 42 / 8%);
    --awa-plp-final-focus: 0 0 0 3px color-mix(in srgb, var(--awa-primary, #b73337) 16%, transparent);
    --awa-plp-transition: 280ms cubic-bezier(0.22, 1, 0.36, 1);
    --awa-glass-bg: color-mix(in srgb, var(--awa-surface, #fff) 70%, transparent);
    --awa-glass-border: color-mix(in srgb, var(--awa-surface, #fff) 30%, transparent);
    --awa-shimmer-bg: linear-gradient(90deg, transparent, color-mix(in srgb, var(--awa-surface, #fff) 40%, transparent), transparent);
}

/* Base Shimmer for lazy loading */
[data-awa-thumb-stabilized="true"]::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--awa-plp-final-surface-soft);
    background-image: var(--awa-shimmer-bg);
    background-size: 200% 100%;
    animation: awa-shimmer 2s infinite linear;
    z-index: 0;
}

@keyframes awa-shimmer {
    0% { background-position: -100% 0; }
    100% { background-position: 100% 0; }
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .page-main .columns.layout.layout-2-col.row {
    margin-inline: -8px;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .page-main .columns.layout.layout-2-col.row > [class*='col-'] {
    padding-inline: var(--awa-space-2); /* P2-fluid: era 8px */
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .page-title-wrapper .page-title {
    color: var(--awa-plp-final-text);
    line-height: 1.15;
    letter-spacing: -0.02em;
    font-weight: 800;
    margin-bottom: 6px;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .shop-tab-select .toolbar.toolbar-products .center {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--awa-space-2-5); /* P2-fluid: era 10px */
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .toolbar .modes .modes-label {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid var(--awa-plp-final-border);
    background: var(--awa-plp-final-surface-soft);
    color: var(--awa-plp-text-secondary, #475569);
    font-size: var(--awa-text-xs); /* P1-fluid: era 12px */
    font-weight: 700;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .grid-mode-show-type-products a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid var(--awa-plp-final-border);
    background: var(--awa-plp-final-surface, #fff);
    color: var(--awa-plp-text-secondary, #475569);
    font-weight: 700;
    text-decoration: none;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .grid-mode-show-type-products a:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .grid-mode-show-type-products a:focus-visible {
    border-color: color-mix(in srgb, var(--awa-primary, #b73337) 34%, transparent);
    color: var(--awa-primary, #b73337);
    outline: 0;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .grid-mode-show-type-products a.actived {
    border-color: var(--awa-primary, #b73337);
    background: color-mix(in srgb, var(--awa-primary, #b73337) 12%, transparent);
    color: var(--awa-primary, #b73337);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .shop-tab-select .toolbar.toolbar-products {
    background: var(--awa-plp-final-surface);
    border: 1px solid var(--awa-plp-final-border);
    border-radius: 16px;
    box-shadow: var(--awa-plp-final-shadow-sm);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .toolbar .toolbar-amount {
    color: var(--awa-plp-final-muted);
    font-size: var(--awa-text-sm); /* P1-fluid: era 13px */
    font-weight: 600;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .toolbar-sorter .sorter-options,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .field.limiter .limiter-options {
    border-color: var(--awa-plp-final-border-strong);
    border-radius: 10px;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .toolbar-sorter .sorter-options:focus,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .toolbar-sorter .sorter-options:focus-visible,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .field.limiter .limiter-options:focus,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .field.limiter .limiter-options:focus-visible {
    box-shadow: var(--awa-plp-final-focus);
    outline: 0;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .pages .item .page,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .pages .item.current strong,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .pages-item-next .action,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .pages-item-previous .action {
    border-color: var(--awa-plp-final-border);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .block.filter {
    border-color: var(--awa-plp-final-border);
    box-shadow: var(--awa-plp-final-shadow-sm);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) #layered-ajax-filter-block .block-content,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .block.filter .block-content {
    padding-bottom: var(--awa-space-2); /* P2-fluid: era 8px */
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .block.filter .block-subtitle.filter-subtitle {
    margin: 0;
    padding: var(--awa-space-2-5) var(--awa-space-3-5); /* P2-fluid: era 10px 14px */
    border-bottom: 1px solid var(--awa-plp-final-border, #edf2f7);
    color: var(--awa-plp-text-secondary, #475569);
    font-size: var(--awa-text-xs); /* P1-fluid: era 12px */
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .block.filter .block-title.filter-title {
    border-bottom: 1px solid var(--awa-plp-final-border, #edf2f7);
    background: linear-gradient(180deg, var(--awa-plp-final-surface) 0%, #f9fbff 100%);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .block.filter .block-title.filter-title strong {
    display: inline-flex;
    align-items: center;
    gap: var(--awa-space-2); /* P2-fluid: era 8px */
    min-height: 44px;
    color: var(--awa-plp-final-text);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-options-title {
    color: var(--awa-plp-final-text);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-options-content a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    margin-bottom: 4px;
    border-radius: 8px;
    background: var(--awa-plp-final-surface-soft, #f8fafc);
    border: 1px solid transparent;
    color: var(--awa-plp-text-tertiary, #334155);
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-options-content a:hover {
    background: var(--awa-plp-final-surface, #fff);
    border-color: color-mix(in srgb, var(--awa-primary, #b73337) 20%, transparent);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--awa-primary, #b73337) 5%, transparent);
    color: var(--awa-primary, #b73337);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-options-content .count {
    background: var(--awa-plp-final-border-strong, #e2e8f0);
    color: var(--awa-plp-text-secondary, #475569);
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    transition: background 0.2s ease, color 0.2s ease;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-options-content a:hover .count {
    background: var(--awa-primary, #b73337);
    color: var(--awa-white, #fff);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .search.results .message.notice {
    margin-bottom: var(--awa-space-3); /* P2-fluid: era 12px */
    color: var(--awa-plp-text-tertiary, #334155);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-current,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-actions {
    margin-inline: 12px;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-current .item a,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: var(--awa-space-1) var(--awa-space-2-5); /* P2-fluid: era 4px 10px */
    border-radius: 999px;
    border: 1px solid var(--awa-plp-final-border);
    background: var(--awa-plp-final-surface);
    color: var(--awa-plp-final-text);
    text-decoration: none;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) #layered_ajax_overlay {
    background: rgb(255 255 255 / 66%);
    backdrop-filter: blur(1px);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) #layered_ajax_overlay > div {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    min-width: 52px;
    padding: var(--awa-space-2-5); /* P2-fluid: era 10px */
    border-radius: 999px;
    border: 1px solid var(--awa-plp-final-border);
    background: var(--awa-plp-final-surface);
    box-shadow: var(--awa-plp-final-shadow-sm);
}

/* PLP — cards com altura uniforme (grid stretch + flex column) */
:is(body.catalog-category-view, body.catalogsearch-result-index) .products-grid .product-items,
:is(body.catalog-category-view, body.catalogsearch-result-index) .wrapper.grid.products-grid {
    align-items: stretch;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .wrapper.grid.products-grid .item-product {
    display: flex;
    flex-direction: column;
    height: 100%;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product > .product-thumb,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product > .product-info {
    border-color: var(--awa-plp-final-border);
}

/* Thumbnail Stabilization & Hover Logic */
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .product-thumb {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--awa-plp-final-surface, #fff);
    transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

/* aspect-ratio fallback for older Safari/Firefox */
@supports not (aspect-ratio: 1/1) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .product-thumb {
        padding-bottom: 100%;
        height: 0;
    }
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .product-thumb > * {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

@media (hover: hover) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product:hover .product-thumb {
        transform: translateY(-4px);
    }
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .product-thumb-link {
    display: block;
    width: 100%;
    height: 100%;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .first-thumb,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .second-thumb {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity var(--awa-plp-transition), visibility var(--awa-plp-transition), transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .first-thumb {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transition: opacity var(--awa-plp-transition), visibility var(--awa-plp-transition);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .second-thumb {
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.05);
}

@media (hover: hover) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product:hover .first-thumb {
        opacity: 0;
        visibility: hidden;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product:hover .second-thumb {
        z-index: 3;
        opacity: 1;
        visibility: visible;
        transform: scale(1);
    }
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.06));
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .item-product .product-thumb img[loading="lazy"],
:is(body.catalog-category-view, body.catalogsearch-result-index) .item-product img.product-image-photo[loading="lazy"] {
    opacity: 1 !important;
    visibility: visible !important;
}

@media (hover: hover) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product:hover .product-thumb img:not([src*="placeholder"]):not(.lazyload) {
        transform: scale(1.08);
    }
    /* Prevent zoom on placeholders */
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product:hover .product-thumb img[src*="placeholder"],
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product:hover .product-thumb img.lazyload {
        transform: none !important;
    }
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-thumb .product-image-wrapper {
    background: linear-gradient(180deg, var(--awa-plp-final-surface) 0%, #f8fbff 100%);
    width: 100% !important;
    height: 100% !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-thumb .product-image-photo[src*="/placeholder/"] {
    opacity: 0.85;
    filter: saturate(0.72);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .hot-onsale .onsale,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .icon-sale.icon-product {
    border-radius: 20px;
    border: 1px solid var(--awa-glass-border);
    background: var(--awa-glass-bg);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--awa-primary, #b73337);
    font-weight: 800;
    font-size: 10px;
    letter-spacing: 0.02em;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    padding: 2px 10px;
    text-transform: uppercase;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .hot-onsale .onsale.new-lable {
    background: rgba(30, 41, 59, 0.8);
    color: var(--awa-white, #fff);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .actions-secondary .quickview-link {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid var(--awa-plp-final-border);
    background: var(--awa-plp-final-surface);
    box-shadow: 0 4px 14px rgb(15 23 42 / 8%);
    transition: background-color var(--awa-plp-transition), color var(--awa-plp-transition), transform var(--awa-plp-transition), box-shadow var(--awa-plp-transition);
    opacity: 0;
    transform: translateY(10px) scale(0.9);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product:hover .actions-secondary .quickview-link {
    opacity: 1;
    transform: translateY(0) scale(1);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .actions-secondary .quickview-link:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .actions-secondary .quickview-link:focus-visible {
    border-color: color-mix(in srgb, var(--awa-primary, #b73337) 34%, transparent);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--awa-primary, #b73337) 14%, transparent);
    transform: scale(1.05);
    outline: 0;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product > .product-info {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: var(--awa-space-2); /* P2-fluid: era 8px */
    padding-bottom: var(--awa-space-3); /* P2-fluid: era 12px */
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product:hover > .product-info,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product:focus-within > .product-info {
    box-shadow: var(--awa-plp-final-shadow-md);
    transform: translateY(-2px);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-name {
    margin-bottom: 2px;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-item-link {
    color: var(--awa-plp-final-text) !important;
    line-height: 1.4;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: -0.01em;
    min-height: calc(1.4em * 2);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-item-link:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-item-link:focus-visible {
    color: var(--awa-primary, #b73337) !important;
    outline: 0;
}

/* SKU Polish */
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .awa-b2b-sku {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--awa-text-xs);
    color: var(--awa-plp-final-muted);
    font-weight: 500;
    margin-top: -4px;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product .awa-b2b-sku__label {
    opacity: 0.7;
    font-weight: 400;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .info-price {
    min-height: 48px;
    align-items: flex-start;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-rating .reviews-actions .action.add,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-rating .reviews-actions .action.view {
    font-size: var(--awa-text-xs); /* P1-fluid: era 12px */
    color: var(--awa-plp-final-muted, #64748b);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-rating .reviews-actions .action.add:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-rating .reviews-actions .action.add:focus-visible,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-rating .reviews-actions .action.view:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-rating .reviews-actions .action.view:focus-visible {
    color: var(--awa-primary, #b73337);
    outline: 0;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .special-price .price,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .price {
    font-weight: 800;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-info-cart {
    margin-top: auto;
    padding-top: 2px;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .btn-add-to-cart.action.tocart {
    min-height: 44px;
    width: 100%;
    border-radius: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: background-color var(--awa-plp-transition), box-shadow var(--awa-plp-transition), transform var(--awa-plp-transition);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .btn-add-to-cart.action.tocart:hover {
    box-shadow: 0 6px 16px color-mix(in srgb, var(--awa-primary, #b73337) 18%, transparent);
    transform: translateY(-1px);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .btn-add-to-cart.action.tocart:focus-visible {
    box-shadow: var(--awa-plp-final-focus);
    outline: 0;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .b2b-login-to-buy-btn.b2b--listing {
    min-height: 44px;
    border-radius: 11px;
    font-size: var(--awa-text-xs); /* P1-fluid: era 12px */
    font-weight: 700;
    letter-spacing: 0.01em;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .b2b-login-to-buy-btn.b2b--listing:focus-visible {
    box-shadow: var(--awa-plp-final-focus);
    outline: 0;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .b2b-login-to-see-price {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--awa-primary, #b73337) 18%, transparent);
    background: color-mix(in srgb, var(--awa-primary, #b73337) 7%, transparent);
    color: var(--awa-primary, #b73337);
    font-weight: 700;
    font-size: clamp(0.8125rem, 0.75rem + 0.3vw, 0.875rem);
    line-height: 1.35;
    transition: background 0.3s ease, border-color 0.3s ease;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .b2b-login-to-see-price::before {
    content: "\f023";
    font-family: FontAwesome;
    font-size: var(--awa-text-xs); /* P1-fluid: era 12px */
    line-height: 1;
}

/* Price Gate Card (Grid/Compact) */
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .awa-b2b-gate-card--compact {
    background: var(--awa-plp-final-surface-soft);
    border: 1px solid var(--awa-plp-final-border);
    border-radius: 14px;
    padding: var(--awa-space-3);
    text-align: center;
    box-shadow: inset 0 2px 6px rgba(0,0,0,0.02);
    transition: background-color var(--awa-plp-transition), color var(--awa-plp-transition), transform var(--awa-plp-transition), box-shadow var(--awa-plp-transition);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .item-product:hover .awa-b2b-gate-card--compact {
    background: var(--awa-plp-final-surface);
    border-color: var(--awa-primary, #b73337);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--awa-primary, #b73337) 8%, transparent);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .awa-b2b-gate-card__badge {
    display: inline-block;
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--awa-primary, #b73337);
    margin-bottom: 4px;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .awa-b2b-gate-card__title {
    font-size: var(--awa-text-xs);
    font-weight: 700;
    color: var(--awa-plp-final-text);
    line-height: 1.2;
    margin-bottom: var(--awa-space-2);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .awa-b2b-gate-card__action {
    display: block;
    background: var(--awa-primary, #b73337);
    color: var(--awa-white, #fff) !important;
    font-size: var(--awa-text-xs);
    font-weight: 700;
    padding: 8px 12px;
    border-radius: 8px;
    text-decoration: none;
    transition: filter var(--awa-plp-transition);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .awa-b2b-gate-card__action:hover {
    filter: brightness(1.1);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.list.products-list .item-product,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .products-list .item-product {
    border: 1px solid var(--awa-plp-final-border);
    border-radius: 16px;
    background: var(--awa-plp-final-surface);
    box-shadow: var(--awa-plp-final-shadow-sm);
    overflow: clip;
    transition: box-shadow var(--awa-plp-transition), border-color var(--awa-plp-transition);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.list.products-list .item-product:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .products-list .item-product:hover {
    border-color: color-mix(in srgb, var(--awa-primary, #b73337) 12%, transparent);
    box-shadow: var(--awa-plp-final-shadow-md);
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.list.products-list .item-product .product-info,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .products-list .item-product .product-info {
    padding: var(--awa-space-3); /* P2-fluid: era 12px */
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.list.products-list .item-product .product-item-link,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .products-list .item-product .product-item-link {
    color: var(--awa-plp-final-text) !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.list.products-list .item-product .product-item-link:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.list.products-list .item-product .product-item-link:focus-visible,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .products-list .item-product .product-item-link:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .products-list .item-product .product-item-link:focus-visible {
    color: var(--awa-primary, #b73337) !important;
    outline: 0;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.list.products-list .item-product .btn-add-to-cart.action.tocart,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .products-list .item-product .btn-add-to-cart.action.tocart,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.list.products-list .item-product .b2b-login-to-buy-btn.b2b--listing,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .products-list .item-product .b2b-login-to-buy-btn.b2b--listing {
    min-height: 42px;
    border-radius: 10px;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .message.notice,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .message.info,
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .message.warning {
    border-radius: 12px;
    border: 1px solid var(--awa-plp-final-border);
    background: var(--awa-plp-final-surface);
    box-shadow: var(--awa-plp-final-shadow-sm);
    padding: var(--awa-space-3) var(--awa-space-3-5); /* P2-fluid: era 12px 14px */
}

@media (width <= 991px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .page-main .columns.layout.layout-2-col.row {
        margin-inline: -6px;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .page-main .columns.layout.layout-2-col.row > [class*='col-'] {
        padding-inline: 6px;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .shop-tab-select .toolbar.toolbar-products {
        border-radius: 12px;
        padding: var(--awa-space-2-5); /* P2-fluid: era 10px */
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .toolbar .toolbar-amount {
        width: 100%;
    }
}

/* AWA Global Header & Search Polish */
.awa-professional-search .block-content form.minisearch {
    border-radius: 999px;
    background: var(--awa-plp-final-surface-soft);
    border: 1px solid var(--awa-plp-final-border);
    transition: background-color var(--awa-plp-transition), color var(--awa-plp-transition), transform var(--awa-plp-transition), box-shadow var(--awa-plp-transition);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.awa-professional-search .block-content form.minisearch:focus-within {
    background: var(--awa-plp-final-surface);
    border-color: var(--awa-primary, #b73337);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--awa-primary, #b73337) 10%, transparent), 0 8px 20px rgb(15 23 42 / 4%);
}

.awa-professional-search .block-content .control input.input-text {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.awa-professional-search .actions button.action.search {
    background: var(--awa-primary, #b73337) !important;
    color: var(--awa-white, #fff) !important;
    border-radius: 999px;
    width: 44px;
    height: 38px;
    margin: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--awa-plp-transition), color var(--awa-plp-transition), transform var(--awa-plp-transition), box-shadow var(--awa-plp-transition);
}

.awa-professional-search .actions button.action.search:hover {
    filter: brightness(1.1);
    transform: scale(1.05);
}

/* Header Icons Polish */
.header.content .minicart-wrapper .action.showcart,
.header.content .link.compare,
.header.content .top-account a {
    transition: transform var(--awa-plp-transition), opacity var(--awa-plp-transition);
}

.header.content .minicart-wrapper .action.showcart:hover,
.header.content .top-account a:hover {
    transform: translateY(-2px);
    opacity: 0.8;
}

.minicart-wrapper .action.showcart .counter.qty {
    background: var(--awa-primary, #b73337);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--awa-primary, #b73337) 30%, transparent);
    animation: awa-pulse-qty 2s infinite;
}

@keyframes awa-pulse-qty {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* Sticky Header Transition */
.header-container.sticky-header {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

/* AWA Footer & Newsletter Polish */
.newsletter-footer .form.subscribe {
    max-width: 480px;
    margin: 0 auto;
}

.newsletter-footer .field.newsletter .control {
    display: flex;
    background: var(--awa-plp-final-surface);
    border-radius: 999px;
    padding: 3px;
    border: 1px solid var(--awa-plp-final-border);
    transition: background-color var(--awa-plp-transition), color var(--awa-plp-transition), transform var(--awa-plp-transition), box-shadow var(--awa-plp-transition);
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.newsletter-footer .field.newsletter .control:focus-within {
    border-color: var(--awa-primary, #b73337);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--awa-primary, #b73337) 10%, transparent), 0 8px 24px rgb(15 23 42 / 6%);
}

.newsletter-footer input#newsletter {
    border: none !important;
    background: transparent !important;
    height: 44px;
    padding-left: 20px;
    font-size: 14px;
    flex: 1;
}

.newsletter-footer .actions button.subscribe {
    background: var(--awa-primary, #b73337) !important;
    color: var(--awa-white, #fff) !important;
    border-radius: 999px !important;
    padding: 0 24px;
    font-weight: 700;
    text-transform: none;
    height: 44px;
    transition: background-color var(--awa-plp-transition), color var(--awa-plp-transition), transform var(--awa-plp-transition), box-shadow var(--awa-plp-transition);
    border: none !important;
}

.newsletter-footer .actions button.subscribe:hover {
    filter: brightness(1.1);
    transform: translateX(2px);
}

.awa-footer-business-contact {
    background: linear-gradient(180deg, var(--awa-plp-final-surface-soft) 0%, var(--awa-plp-final-surface) 100%);
    border-top: 1px solid var(--awa-plp-final-border);
    padding: var(--awa-space-10) 0;
}

.awa-footer-business-contact__shell {
    background: var(--awa-plp-final-surface, #fff);
    border: 1px solid var(--awa-plp-final-border);
    border-radius: 24px;
    padding: var(--awa-space-8);
    box-shadow: var(--awa-plp-final-shadow-sm);
    display: flex;
    gap: var(--awa-space-8);
    align-items: center;
}

.awa-footer-business-contact__action {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    border-radius: 16px;
    border: 1px solid var(--awa-plp-final-border);
    background: var(--awa-plp-final-surface-soft);
    transition: background-color var(--awa-plp-transition), color var(--awa-plp-transition), transform var(--awa-plp-transition), box-shadow var(--awa-plp-transition);
    text-decoration: none !important;
}

.awa-footer-business-contact__action:hover {
    background: var(--awa-plp-final-surface, #fff);
    border-color: var(--awa-primary, #b73337);
    box-shadow: 0 10px 25px color-mix(in srgb, var(--awa-primary, #b73337) 8%, transparent);
    transform: translateY(-2px);
}

.awa-footer-business-contact__action--primary {
    background: rgb(37 211 102 / 5%);
    border-color: rgb(37 211 102 / 20%);
}

.awa-footer-business-contact__action--primary:hover {
    background: var(--awa-plp-final-surface);
    border-color: var(--awa-plp-c1);
    box-shadow: 0 10px 25px rgb(37 211 102 / 12%);
}

.awa-footer-business-contact__action-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    background: var(--awa-plp-final-surface);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    color: var(--awa-primary, #b73337);
}

.awa-footer-business-contact__action--primary .awa-footer-business-contact__action-icon {
    color: var(--awa-plp-c1);
}

@media (max-width: 991px) {
    .awa-footer-business-contact__shell {
        flex-direction: column;
        text-align: center;
        padding: var(--awa-space-6);
    }
    .awa-footer-business-contact__actions {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
}

@media (width <= 767px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .shop-tab-select .toolbar.toolbar-products .center {
        gap: var(--awa-space-2); /* P2-fluid: era 8px */
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .toolbar .modes .modes-label {
        min-height: 30px;
        padding-inline: var(--awa-space-2-5); /* P2-fluid: era 10px */
        font-size: var(--awa-text-2xs); /* P1-fluid: era 11px */
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .shop-tab-select .toolbar.toolbar-products {
        border-radius: 10px;
        padding: 9px;
        position: sticky;
        top: var(--awa-plp-toolbar-top-offset, calc(env(safe-area-inset-top, 0px) + 6px));
        z-index: 18;
        box-shadow: 0 10px 24px rgb(15 23 42 / 12%);
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .block.filter {
        border-radius: 10px;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .filter-options-content {
        padding-inline: var(--awa-space-3); /* P2-fluid: era 12px */
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .product-item-link {
        min-height: calc(1.3em * 2);
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .btn-add-to-cart.action.tocart {
        min-height: 44px;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product .actions-secondary .quickview-link {
        width: 44px;
        height: 44px;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.list.products-list .item-product,
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .products-list .item-product {
        border-radius: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product > .product-info,
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .toolbar .modes .modes-mode,
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .grid-mode-show-type-products a {
        transition: none;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product:hover > .product-info,
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index) .wrapper.grid.products-grid .item-product:focus-within > .product-info {
        transform: none;
    }
}

/* AWA Mobile Nav Polish — escopado para excluir checkout (FIX-PLP-NAV-SCOPE-2026-05-10) */
body:not(.checkout-index-index):not(.rokanthemes-onepagecheckout):not(.checkout-cart-index):not(.onepagecheckout-index-index) nav.fixed-bottom {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    border-top: 1px solid rgba(0,0,0,0.05) !important;
    box-shadow: 0 -8px 30px rgba(0,0,0,0.1) !important;
    padding-bottom: env(safe-area-inset-bottom, 12px) !important;
    height: auto !important;
}

body:not(.checkout-index-index):not(.rokanthemes-onepagecheckout):not(.checkout-cart-index):not(.onepagecheckout-index-index) nav.fixed-bottom .mobile-bottom-link {
    padding: 6px 0 !important;
}

body:not(.checkout-index-index):not(.rokanthemes-onepagecheckout):not(.checkout-cart-index):not(.onepagecheckout-index-index) nav.fixed-bottom .mobile-bottom-link li a,
body:not(.checkout-index-index):not(.rokanthemes-onepagecheckout):not(.checkout-cart-index):not(.onepagecheckout-index-index) nav.fixed-bottom .mobile-bottom-link li button {
    color: var(--awa-plp-text-secondary, #475569) !important;
    font-size: max(11px, 0.6875rem) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    gap: 4px !important;
    padding: 8px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

body:not(.checkout-index-index):not(.rokanthemes-onepagecheckout):not(.checkout-cart-index):not(.onepagecheckout-index-index) nav.fixed-bottom .mobile-bottom-link li a .icon,
body:not(.checkout-index-index):not(.rokanthemes-onepagecheckout):not(.checkout-cart-index):not(.onepagecheckout-index-index) nav.fixed-bottom .mobile-bottom-link li button .icon {
    font-size: 20px !important;
    margin-bottom: 2px !important;
    transition: transform var(--awa-plp-transition);
}

body:not(.checkout-index-index):not(.rokanthemes-onepagecheckout):not(.checkout-cart-index):not(.onepagecheckout-index-index) nav.fixed-bottom .mobile-bottom-link li a:active .icon,
body:not(.checkout-index-index):not(.rokanthemes-onepagecheckout):not(.checkout-cart-index):not(.onepagecheckout-index-index) nav.fixed-bottom .mobile-bottom-link li button:active .icon {
    transform: scale(1.15) translateY(-2px);
    color: var(--awa-primary, #b73337);
}

/* WhatsApp FAB Polish */
.awa-whatsapp-fab {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 80px) !important;
    box-shadow: 0 8px 24px rgb(37 211 102 / 30%) !important;
    border: 2px solid var(--awa-plp-final-surface, #fff) !important;
    transition: background-color var(--awa-plp-transition), color var(--awa-plp-transition), transform var(--awa-plp-transition), box-shadow var(--awa-plp-transition) !important;
}

.awa-whatsapp-fab:hover {
    transform: scale(1.1) rotate(5deg);
}

/* Global Scroll Smoothing */
html {
    scroll-behavior: smooth;
}

/* AWA Shopping Cart & Mini-cart Polish */
.minicart-wrapper .block-minicart {
    border-radius: 16px !important;
    border: 1px solid var(--awa-plp-final-border) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.12) !important;
    overflow: hidden !important;
}

.minicart-wrapper .block-minicart .block-title {
    background: var(--awa-plp-final-surface-soft) !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--awa-plp-final-border) !important;
}

.minicart-items .product-item {
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--awa-plp-final-surface-soft) !important;
    transition: background-color 0.2s ease !important;
}

.minicart-items .product-item:hover {
    background-color: var(--awa-plp-final-surface-soft) !important;
}

.minicart-items .product-item-name a {
    font-weight: 700 !important;
    color: var(--awa-plp-final-text) !important;
}

.minicart-wrapper .action.viewcart {
    background: transparent !important;
    color: var(--awa-plp-final-text) !important;
    font-weight: 700 !important;
    border: 1px solid var(--awa-plp-final-border) !important;
    border-radius: 10px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

.minicart-wrapper .action.viewcart:hover {
    background: var(--awa-plp-final-surface-soft) !important;
    border-color: var(--awa-plp-final-text) !important;
}

/* Universal Button Active State Consistency — Fix Bug #7 */
.action:active,
.btn:active,
.button:active,
.awa-btn:active {
    transform: translateY(1px) scale(0.98) !important;
}


/* =============================================================================
   PAGINATION — AWA PLP polish 2026-05-05
   Scope: category + search result pages
   ============================================================================= */

:is(body.catalog-category-view, body.catalogsearch-result-index) .pages {
    margin-top: var(--awa-space-8, 32px);
    margin-bottom: var(--awa-space-6, 24px);
    display: flex;
    justify-content: center;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .pages-items {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .pages .item a,
:is(body.catalog-category-view, body.catalogsearch-result-index) .pages .item.current strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 var(--awa-space-2, 8px);
    border-radius: var(--awa-radius-sm, 6px);
    font-size: var(--awa-text-sm, 13px);
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .pages .item a {
    border: 1.5px solid var(--awa-plp-final-border, #dbe4ee);
    background: var(--awa-plp-final-surface, #fff);
    color: var(--awa-plp-final-text, #1f2937);
    transition: border-color var(--awa-plp-transition, 320ms ease),
                color var(--awa-plp-transition, 320ms ease),
                background var(--awa-plp-transition, 320ms ease);
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .pages .item a:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index) .pages .item a:focus-visible {
    border-color: var(--awa-primary, #b73337);
    color: var(--awa-primary, #b73337);
    background: color-mix(in srgb, var(--awa-primary, #b73337) 6%, transparent);
    outline: 0;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .pages .item.current strong {
    background: var(--awa-primary, #b73337);
    color: var(--awa-white, #fff);
    border: 1.5px solid transparent;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--awa-primary, #b73337) 22%, transparent);
}

/* Prev / Next action buttons */
:is(body.catalog-category-view, body.catalogsearch-result-index) .pages-item-previous .action.previous,
:is(body.catalog-category-view, body.catalogsearch-result-index) .pages-item-next .action.next {
    gap: 4px;
    padding: 0 14px;
    min-width: auto;
}

/* Impeccable polish: finish interaction states with AWA tokens instead of page-local color aliases. */
:is(body.catalog-category-view, body.catalogsearch-result-index) :is(
    .toolbar a,
    .toolbar button,
    .toolbar select,
    .filter-options-content a,
    .pages .item a,
    .product-item a,
    .action.tocart,
    .b2b-login-to-buy-btn,
    .b2b-login-to-see-price
):focus-visible {
    outline: 2px solid var(--awa-primary, #b73337);
    outline-offset: 3px;
    border-radius: var(--awa-radius-sm, 8px);
}

@media (max-width: 767px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index) :is(
        .grid-mode-show-type-products a,
        .pages .item a,
        .pages .item.current strong,
        .filter-current .item a,
        .filter-actions a
    ) {
        min-height: var(--awa-touch-min, 44px);
        min-width: var(--awa-touch-min, 44px);
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index) .filter-options-content a {
        min-height: var(--awa-touch-min, 44px);
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(body.catalog-category-view, body.catalogsearch-result-index) *,
    :is(body.catalog-category-view, body.catalogsearch-result-index) *::before,
    :is(body.catalog-category-view, body.catalogsearch-result-index) *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index) :is(.item-product, .product-image-photo) {
        transform: none !important;
    }
}

/* =============================================================================
   GRID CORRECTIONS — Audit 2026-05-05
   Corrige: desktop thumb ratio, info-price visibilidade, mobile sidebar,
   gutter responsivo, alinhamento vertical dos cards.
   ============================================================================= */

/* --- 1. Desktop: limitar altura da thumb para dar espaço ao texto ---
   Sem isso, aspect-ratio:1/1 numa coluna de 254px gera thumb de 254px
   (70% do card), sobrando pouco para nome+SKU+preço */
@media (min-width: 992px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
    .wrapper.grid.products-grid .item-product .product-thumb {
        max-height: 200px !important;
        /* Mantém aspect-ratio mas cap at 200px */
    }
}

/* --- 2. Desktop: info-price visível (não colapsar para 1px) ---
   O Ayo define product-info-cart como absolute/bottom:-100% para hover reveal.
   O info-price deve sempre mostrar "Faça login" ou o preço,
   portanto min-height garante visibilidade. */
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
.wrapper.grid.products-grid .item-product .info-price {
    min-height: 44px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    overflow: visible !important;
}

/* --- 3. Desktop: product-info-cart em fluxo normal (retira absolute) ---
   O Ayo coloca product-info-cart como position:absolute/bottom:-100% para
   hover reveal. Em B2B guest mode, o gate card aparece fora do card.
   Para o layout estático (sem hover JS), usamos position:relative. */
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
.wrapper.grid.products-grid .item-product .product-info-cart {
    position: relative !important;
    bottom: auto !important;
    top: auto !important;
    z-index: auto !important;
    margin-top: auto !important;
    width: 100% !important;
}

/* --- 4. Card: overflow hidden para evitar que absolute vaze ---
   Garante que qualquer elemento posicionado fora do card não seja visível */
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
.wrapper.grid.products-grid .item-product {
    overflow: hidden !important;
}

/* --- 5. Card: garantir flex-column com alinhamento vertical dos filhos ---
   Permite que product-info cresça e empurre o CTA para o rodapé */
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
.wrapper.grid.products-grid .item-product {
    display: flex !important;
    flex-direction: column !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
.wrapper.grid.products-grid .item-product .product-info {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

/* --- 6. Mobile: sidebar filtros — colapsar no mobile (<768px) para não ocupar 639px ---
   O Ayo desktop sidebar não deve ser display:block em mobile */
@media (max-width: 767px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .page-layout-2columns-left .sidebar.sidebar-main,
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .page-layout-2columns-left .block.filter {
        /* Sidebar já deve estar visível como accordion no mobile — só garantir não overflow */
        overflow: hidden;
    }
}

/* --- 7. Grid responsivo: garantir fr units nos breakpoints de transição ---
   Evita que o grid quebre para 1 coluna em telas 769px-991px (tablet landscape) */
@media (min-width: 769px) and (max-width: 991px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .wrapper.grid.products-grid ul.product-grid,
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .wrapper.grid.products-grid ul.container-products-switch {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}

/* --- 8. Mobile <480px: 2 colunas sempre (prevenir 1 coluna em phones pequenos) --- */
@media (max-width: 479px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .wrapper.grid.products-grid ul.product-grid,
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .wrapper.grid.products-grid ul.container-products-switch {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .wrapper.grid.products-grid .item-product {
        padding: 8px !important;
    }
}

/* --- 9. Nome do produto: 2 linhas no desktop (min-height = 2×line-height) ---
   Evita que cards com nomes curtos pareçam inconsistentes */
@media (min-width: 768px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
    .wrapper.grid.products-grid .item-product .product-item-link {
        min-height: calc(1.4em * 2) !important;
        -webkit-line-clamp: 2 !important;
        line-clamp: 2 !important;
    }
}

/* --- 10. Gutter do grid: consistência desktop --- */
@media (min-width: 992px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .wrapper.grid.products-grid ul.product-grid,
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .wrapper.grid.products-grid ul.container-products-switch {
        gap: 16px !important;
    }
}

/* =============================================================================
   GRID CORRECTIONS v2 — 2026-05-05 (patch)
   Corrige problemas introduzidos pelas Grid Corrections v1:
   1. Fix2 sobrescrevia regra :has(.awa-b2b-gate-card) que faz display:none no info-price
   2. Fix3 position:relative fazia card mobile crescer 137px (433px total)
   ============================================================================= */

/* --- Override Fix 2: info-price só recebe min-height quando NÃO há gate card ---
   Quando há .awa-b2b-gate-card, o B2B module já oculta .info-price com display:none.
   Nossa min-height:44px estava sobrescrevendo essa ocultação. */
:is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
.wrapper.grid.products-grid .item-product:has(.awa-b2b-gate-card) .info-price {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* --- Override Fix 3: product-info-cart relative apenas no desktop ---
   No mobile, position:relative no gate card faz o card crescer para 433px (era 296px).
   No mobile (<768px), manter position:absolute mas usar overflow:hidden no card. */
@media (max-width: 767px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
    .wrapper.grid.products-grid .item-product .product-info-cart {
        position: absolute !important;
        bottom: -100% !important;
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2 !important;
        margin-top: 0 !important;
    }
}

/* --- Mobile gate card compacto (quando toque revela via JS) ---
   Reduz padding e esconde badge para minimizar altura */
@media (max-width: 767px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
    .awa-b2b-gate-card__badge {
        display: none !important;
    }

    :is(body.catalog-category-view, body.catalogsearch-result-index, body.cms-index-index)
    .awa-b2b-gate-card--compact {
        padding: 8px !important;
    }
}

/* =============================================================================
   ROUND 46 — PLP Viewport Optimization (2026-05-06)
   Objetivo: trazer products grid mais alto no viewport desktop (1280x900)
   Atual:  produtos começam a ~767px (abaixo da dobra)
   Meta:   produtos visíveis acima de ~700px

   1. Ocultar seletores de coluna (.grid-mode-show-type-products) no desktop
      — Esses botões (⋮⋮ ⋮ ⋮⋮ para 2/3/4 colunas) ficam numa 2ª linha da toolbar
      — No desktop o grid já usa 3 colunas por padrão; a escolha manual é raramente
        usada e causa a toolbar ser 2 linhas (106px → ~60px com esta mudança)
      — No mobile continua visível se necessário
   2. Reduzir padding-top do .column.main de 16px → 8px
      — Espaço de respiro entre breadcrumb e conteúdo principal
   3. Reduzir min-height do hero de categoria de 180px → 150px
      — Banner de categoria mais compacto sem perder identidade visual
   ============================================================================= */

/* 46a — Ocultar seletores de coluna na toolbar desktop */
@media (min-width: 768px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .shop-tab-select .toolbar-products .grid-mode-show-type-products {
        display: none !important; /* Economiza ~44px da toolbar (2ª linha) */
    }
}

/* 46b — Reduzir padding-top do column.main */
@media (min-width: 768px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .page-main .column.main {
        padding-top: 8px !important; /* era 16px, economiza 8px */
    }
}

/* 46c — Hero de categoria mais compacto */
@media (min-width: 768px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index)
    .awa-category-hero {
        min-height: 150px !important; /* era 180px, economiza 30px */
        height: 150px !important;
    }
}

/* ui-ux-pro-max — touch target 44px: quickview PLP (vence regras 40px + scale de layers anteriores) */
:is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .quickview-link {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .item-product .actions-secondary .quickview-link {
    transform: none !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .item-product:hover .actions-secondary .quickview-link {
    transform: none !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .item-product .actions-secondary .quickview-link:hover,
:is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .item-product .actions-secondary .quickview-link:focus-visible {
    transform: none !important;
}

@media (max-width: 767px) {
    :is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .item-product .actions-secondary .quickview-link {
        opacity: 1 !important;
    }
}

/* ui-ux-pro-max §PLP-B2B-GATE — link "Faça login" touch 44px + fonte legível (vence inherit 10px) */
:is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .wrapper.grid.products-grid .item-product .info-price .b2b-login-to-see-price {
    min-height: 44px !important;
    font-size: clamp(0.8125rem, 0.75rem + 0.3vw, 0.875rem) !important;
    line-height: 1.35 !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .wrapper.grid.products-grid .item-product .info-price .b2b-login-to-see-price .price-label {
    font-size: inherit !important;
    line-height: inherit !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.25rem !important;
}

:is(body.catalog-category-view, body.catalogsearch-result-index) .page-wrapper .wrapper.grid.products-grid .item-product .info-price .b2b-login-to-see-price a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 6px 10px !important;
    font-size: inherit !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
}
