.elementor-8524 .elementor-element.elementor-element-c555336{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8524 .elementor-element.elementor-element-c555336:not(.elementor-motion-effects-element-type-background), .elementor-8524 .elementor-element.elementor-element-c555336 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://dev.peixanario.com/wp-content/uploads/2026/06/d04163ff-image.png");background-position:center center;background-size:cover;}.elementor-8524 .elementor-element.elementor-element-8e41328{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8524 .elementor-element.elementor-element-1c04450{--spacer-size:195px;}.elementor-8524 .elementor-element.elementor-element-86c1cdb{text-align:center;}.elementor-8524 .elementor-element.elementor-element-0163869{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8524 .elementor-element.elementor-element-3acf57f7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--margin-top:10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:4%;--padding-right:4%;}.elementor-8524 .elementor-element.elementor-element-3acf57f7:not(.elementor-motion-effects-element-type-background), .elementor-8524 .elementor-element.elementor-element-3acf57f7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-8524 .elementor-element.elementor-element-b66c6f{text-align:center;}.elementor-8524 .elementor-element.elementor-element-b66c6f .elementor-heading-title{font-size:28px;letter-spacing:3px;color:var( --e-global-color-primary );}.elementor-8524 .elementor-element.elementor-element-7c6a7a2 .elementor-button{background-color:var( --e-global-color-5cf087a );fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:16px 25px 16px 25px;}.elementor-8524 .elementor-element.elementor-element-7c6a7a2 .elementor-button:hover, .elementor-8524 .elementor-element.elementor-element-7c6a7a2 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-101145a );border-color:var( --e-global-color-accent );}.elementor-8524 .elementor-element.elementor-element-7c6a7a2 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-8524 .elementor-element.elementor-element-7c6a7a2 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-8524 .elementor-element.elementor-element-7c6a7a2 .elementor-button:hover svg, .elementor-8524 .elementor-element.elementor-element-7c6a7a2 .elementor-button:focus svg{fill:var( --e-global-color-101145a );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .price{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .price del {font-family:"Questrial", Sans-serif;font-size:24px;font-weight:400;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0.9px;word-spacing:0em;}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .button{color:var( --e-global-color-accent );font-family:var( --e-global-typography-eae20c6-font-family ), Sans-serif;font-size:var( --e-global-typography-eae20c6-font-size );font-weight:var( --e-global-typography-eae20c6-font-weight );text-transform:var( --e-global-typography-eae20c6-text-transform );font-style:var( --e-global-typography-eae20c6-font-style );text-decoration:var( --e-global-typography-eae20c6-text-decoration );line-height:var( --e-global-typography-eae20c6-line-height );letter-spacing:var( --e-global-typography-eae20c6-letter-spacing );word-spacing:var( --e-global-typography-eae20c6-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .button:hover{color:var( --e-global-color-secondary );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products .added_to_cart{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-eae20c6-font-family ), Sans-serif;font-size:var( --e-global-typography-eae20c6-font-size );font-weight:var( --e-global-typography-eae20c6-font-weight );text-transform:var( --e-global-typography-eae20c6-text-transform );font-style:var( --e-global-typography-eae20c6-font-style );text-decoration:var( --e-global-typography-eae20c6-text-decoration );line-height:var( --e-global-typography-eae20c6-line-height );letter-spacing:var( --e-global-typography-eae20c6-letter-spacing );word-spacing:var( --e-global-typography-eae20c6-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-8524 .elementor-element.elementor-element-4f74738{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8524 .elementor-element.elementor-element-1b226200{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-end;--margin-top:10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:50%;--padding-right:0%;}.elementor-8524 .elementor-element.elementor-element-1b226200:not(.elementor-motion-effects-element-type-background), .elementor-8524 .elementor-element.elementor-element-1b226200 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://dev.peixanario.com/wp-content/uploads/2026/04/Captura-de-Tela-2025-12-29-as-00.53.10-1536x614-1-e1775522983918.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-8524 .elementor-element.elementor-element-56a3deab{--display:flex;--min-height:645px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--padding-top:10%;--padding-bottom:10%;--padding-left:10%;--padding-right:10%;}.elementor-8524 .elementor-element.elementor-element-56a3deab:not(.elementor-motion-effects-element-type-background), .elementor-8524 .elementor-element.elementor-element-56a3deab > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-eb1c13f );}.elementor-8524 .elementor-element.elementor-element-353fd238 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );color:var( --e-global-color-101145a );}.elementor-8524 .elementor-element.elementor-element-12480e46 > .elementor-widget-container{padding:0% 30% 0% 0%;}.elementor-8524 .elementor-element.elementor-element-12480e46{color:var( --e-global-color-101145a );}.elementor-8524 .elementor-element.elementor-element-85cceb5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8524 .elementor-element.elementor-element-75fd584{--spacer-size:109px;}.elementor-8524 .elementor-element.elementor-element-5133fc5{--display:flex;}.elementor-8524 .elementor-element.elementor-element-af245c7{text-align:center;}.elementor-8524 .elementor-element.elementor-element-af245c7 .elementor-heading-title{color:#1A3A5F;}.elementor-8524 .elementor-element.elementor-element-cc11d69{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8524 .elementor-element.elementor-element-9594c04{text-align:center;}.elementor-8524 .elementor-element.elementor-element-f9bb5ad{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8524 .elementor-element.elementor-element-0e87b1b{--spacer-size:50px;}.elementor-8524 .elementor-element.elementor-element-1abdf7a{--display:flex;}.elementor-8524 .elementor-element.elementor-element-e246392{--spacer-size:50px;}.elementor-8524 .elementor-element.elementor-element-137e0a2{--display:flex;}.elementor-8524 .elementor-element.elementor-element-c19d436.elementor-wc-products ul.products li.product{text-align:center;}.elementor-8524 .elementor-element.elementor-element-c19d436.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-8524 .elementor-element.elementor-element-c19d436.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-8524 .elementor-element.elementor-element-631c969{--display:flex;}.elementor-8524 .elementor-element.elementor-element-03caaff{--spacer-size:146px;}.elementor-8524 .elementor-element.elementor-element-001ecd1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-8524 .elementor-element.elementor-element-56a3deab{--content-width:720px;}}@media(max-width:1024px){.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .price{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .price del {font-size:18px;}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .button{font-size:var( --e-global-typography-eae20c6-font-size );line-height:var( --e-global-typography-eae20c6-line-height );letter-spacing:var( --e-global-typography-eae20c6-letter-spacing );word-spacing:var( --e-global-typography-eae20c6-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products .added_to_cart{font-size:var( --e-global-typography-eae20c6-font-size );line-height:var( --e-global-typography-eae20c6-line-height );letter-spacing:var( --e-global-typography-eae20c6-letter-spacing );word-spacing:var( --e-global-typography-eae20c6-word-spacing );}.elementor-8524 .elementor-element.elementor-element-1b226200{--padding-top:0%;--padding-bottom:0%;--padding-left:30%;--padding-right:0%;}.elementor-8524 .elementor-element.elementor-element-56a3deab{--min-height:0px;}.elementor-8524 .elementor-element.elementor-element-353fd238 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-8524 .elementor-element.elementor-element-12480e46 > .elementor-widget-container{padding:0% 10% 0% 0%;}.elementor-8524 .elementor-element.elementor-element-c19d436.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-8524 .elementor-element.elementor-element-3acf57f7{--gap:35px 35px;--row-gap:35px;--column-gap:35px;--margin-top:25%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .price{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .price del {font-size:16px;}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products ul.products li.product .button{font-size:var( --e-global-typography-eae20c6-font-size );line-height:var( --e-global-typography-eae20c6-line-height );letter-spacing:var( --e-global-typography-eae20c6-letter-spacing );word-spacing:var( --e-global-typography-eae20c6-word-spacing );}.elementor-8524 .elementor-element.elementor-element-5bff87f.elementor-wc-products .added_to_cart{font-size:var( --e-global-typography-eae20c6-font-size );line-height:var( --e-global-typography-eae20c6-line-height );letter-spacing:var( --e-global-typography-eae20c6-letter-spacing );word-spacing:var( --e-global-typography-eae20c6-word-spacing );}.elementor-8524 .elementor-element.elementor-element-1b226200{--margin-top:25%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:50%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-8524 .elementor-element.elementor-element-353fd238 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-8524 .elementor-element.elementor-element-c19d436.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for woocommerce-products, class: .elementor-element-5bff87f */<style>
/* ==============================================================
   1. OCULTAR CATEGORIAS — seletores agressivos
   ============================================================== */
.woocommerce ul.products li.product ul.entry-meta,
.woocommerce ul.products li.product .entry-meta,
ul.products li.product ul.entry-meta,
ul.products li.product .entry-meta,
.products .product .entry-meta,
li.product .meta-categories,
li.product .entry-meta {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==============================================================
   2. SWATCHES NO LOOP
   ============================================================== */
.px-loop-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 8px;
    min-height: 28px;
}

.px-loop-swatch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: default;
    font-family: 'Inter', 'Arial Narrow', sans-serif;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1;
    transition: border-color 0.15s ease, transform 0.15s ease;
    border: 1.5px solid #e0e0e0;
}

.px-loop-swatch--color {
    width: 22px;
    height: 22px;
    border-radius: 0;
}

.px-loop-swatch--color:hover {
    border-color: #1a1a1a;
    transform: scale(1.1);
}

.px-loop-swatch--button {
    padding: 4px 7px;
    background: #f5f5f5;
    color: #333;
    border-radius: 0;
    min-width: 28px;
    height: 22px;
}

.px-loop-swatch--button:hover {
    background: #1a1a1a;
    color: #fff;
    border-color: #1a1a1a;
}

.px-loop-swatch--more {
    color: #aaa;
    font-size: 10px;
    border: none;
    padding: 0 2px;
    background: none;
    align-self: center;
}

/* ==============================================================
   3. GRID DE PRODUTOS
   ============================================================== */
.woocommerce ul.products,
.elementor-widget-woocommerce-archive-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 28px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media (max-width: 1024px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

.woocommerce ul.products li.product {
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    transition: box-shadow 0.3s ease !important;
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.08) !important;
}

.woocommerce ul.products li.product .ct-media-container,
.woocommerce ul.products li.product figure a {
    display: block !important;
    overflow: hidden !important;
    background: #f5f5f3 !important;
}

.woocommerce ul.products li.product .wp-post-image {
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.45s ease !important;
}

.woocommerce ul.products li.product:hover .wp-post-image {
    transform: scale(1.03) !important;
}

.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    margin: 12px 0 5px 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

.woocommerce ul.products li.product .price {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 0 0 8px 0 !important;
}

.woocommerce ul.products li.product .price del {
    font-size: 11px !important;
    color: #aaa !important;
    font-weight: 400 !important;
}

.woocommerce ul.products li.product .price ins {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
}

/* ==============================================================
   4. BOTÃO — LARANJA
   ============================================================== */
.woocommerce ul.products li.product .ct-woo-card-actions a.button,
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.ajax_add_to_cart,
.woocommerce ul.products li.product .button.product_type_variable,
.woocommerce ul.products li.product .button.product_type_simple {
    background: #e65100 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 10px 14px !important;
    width: 100% !important;
    margin-top: 10px !important;
    transition: background 0.2s ease !important;
    text-align: center !important;
    display: block !important;
}

.woocommerce ul.products li.product .ct-woo-card-actions a.button:hover,
.woocommerce ul.products li.product .button.add_to_cart_button:hover,
.woocommerce ul.products li.product .button.product_type_variable:hover {
    background: #bf360c !important;
    color: #fff !important;
}

/* Wishlist — ocultar */
.woocommerce ul.products li.product .tinv-wraper {
    display: none !important;
}
</style>

<script>
(function () {
    'use strict';

    var MAX_SWATCHES = 5;
    var cache = {};

    var colorMap = {
        'preto': '#1a1a1a', 'branco': '#f5f5f5', 'cinza': '#9e9e9e',
        'cinzento': '#9e9e9e', 'azul': '#1565c0', 'azul claro': '#42a5f5',
        'azul escuro': '#0d47a1', 'verde': '#2e7d32', 'verde claro': '#66bb6a',
        'vermelho': '#c62828', 'laranja': '#e65100', 'amarelo': '#f9a825',
        'rosa': '#e91e63', 'roxo': '#6a1b9a', 'violeta': '#7b1fa2',
        'castanho': '#5d4037', 'bege': '#d7ccc8', 'dourado': '#ffd54f',
        'prateado': '#bdbdbd', 'transparente': 'transparent',
        'black': '#1a1a1a', 'white': '#f5f5f5', 'gray': '#9e9e9e',
        'grey': '#9e9e9e', 'blue': '#1565c0', 'green': '#2e7d32',
        'red': '#c62828', 'orange': '#e65100', 'yellow': '#f9a825',
        'pink': '#e91e63', 'purple': '#6a1b9a', 'brown': '#5d4037',
        'beige': '#d7ccc8', 'gold': '#ffd54f', 'silver': '#bdbdbd'
    };

    function isColor(attrName, attrValue) {
        var keywords = ['cor', 'color', 'colour', 'cores', 'couleur'];
        var n = attrName.toLowerCase();
        for (var i = 0; i < keywords.length; i++) {
            if (n.indexOf(keywords[i]) !== -1) return true;
        }
        return !!colorMap[(attrValue || '').toLowerCase()];
    }

    function makeColorSwatch(label, hex) {
        var el = document.createElement('span');
        el.className = 'px-loop-swatch px-loop-swatch--color';
        el.title = label;
        el.setAttribute('aria-label', label);
        if (hex === 'transparent') {
            el.style.background = 'linear-gradient(135deg, #fff 45%, #e0e0e0 45%)';
        } else {
            el.style.backgroundColor = hex || '#ccc';
        }
        return el;
    }

    function makeButtonSwatch(label) {
        var el = document.createElement('span');
        el.className = 'px-loop-swatch px-loop-swatch--button';
        el.textContent = label;
        el.title = label;
        return el;
    }

    function makeMoreSwatch(n) {
        var el = document.createElement('span');
        el.className = 'px-loop-swatch px-loop-swatch--more';
        el.textContent = '+' + n;
        return el;
    }

    function getSwatchColor(val) {
        return colorMap[(val || '').toLowerCase().trim()] || null;
    }

    function fetchProductAttributes(productId, callback) {
        if (cache[productId] !== undefined) {
            callback(cache[productId]);
            return;
        }
        fetch('/wp-json/wc/store/v1/products/' + productId, { credentials: 'same-origin' })
            .then(function (res) { return res.json(); })
            .then(function (data) {
                var attrs = (data.attributes || []).filter(function (a) {
                    return a.variation === true || a.has_variations === true ||
                           (a.terms && a.terms.length > 0) || (a.options && a.options.length > 0);
                });
                cache[productId] = attrs;
                callback(attrs);
            })
            .catch(function () {
                cache[productId] = [];
                callback([]);
            });
    }

    function renderSwatches(productEl, attrs) {
        var old = productEl.querySelector('.px-loop-swatches');
        if (old) old.parentNode.removeChild(old);
        if (!attrs || attrs.length === 0) return;

        var mainAttr = null;
        for (var i = 0; i < attrs.length; i++) {
            if ((attrs[i].terms && attrs[i].terms.length > 0) ||
                (attrs[i].options && attrs[i].options.length > 0)) {
                mainAttr = attrs[i];
                break;
            }
        }
        if (!mainAttr) return;

        var terms = mainAttr.terms || mainAttr.options || [];
        var attrName = mainAttr.name || '';
        var container = document.createElement('div');
        container.className = 'px-loop-swatches';
        var shown = 0;
        var total = terms.length;

        for (var j = 0; j < terms.length; j++) {
            if (shown >= MAX_SWATCHES) break;
            var term = terms[j];
            var label = term.name || term.label || (typeof term === 'string' ? term : '');
            if (!label) continue;
            var swatchEl;
            if (isColor(attrName, label)) {
                var hex = term.color ? term.color : getSwatchColor(label);
                swatchEl = makeColorSwatch(label, hex);
            } else {
                swatchEl = makeButtonSwatch(label);
            }
            container.appendChild(swatchEl);
            shown++;
        }

        if (total > MAX_SWATCHES) container.appendChild(makeMoreSwatch(total - MAX_SWATCHES));

        var priceEl = productEl.querySelector('.price');
        var actionsEl = productEl.querySelector('.ct-woo-card-actions');

        if (priceEl && priceEl.parentNode) {
            priceEl.parentNode.insertBefore(container, priceEl.nextSibling);
        } else if (actionsEl && actionsEl.parentNode) {
            actionsEl.parentNode.insertBefore(container, actionsEl);
        } else {
            productEl.appendChild(container);
        }
    }

    function processProducts() {
        document.querySelectorAll('ul.products li.product').forEach(function (productEl) {
            if (productEl.dataset.pxSwatchesDone) return;
            productEl.dataset.pxSwatchesDone = '1';

            /* Oculta categorias via JS também — dupla garantia */
            productEl.querySelectorAll('.entry-meta, ul.entry-meta, .meta-categories').forEach(function (el) {
                el.style.cssText = 'display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;';
            });

            if (!productEl.classList.contains('product-type-variable')) return;

            var productId = null;
            productEl.classList.forEach(function (cls) {
                var m = cls.match(/^post-(\d+)$/);
                if (m) productId = m[1];
            });

            if (!productId) return;

            fetchProductAttributes(productId, function (attrs) {
                renderSwatches(productEl, attrs);
            });
        });
    }

    function observeGridUpdates() {
        var grid = document.querySelector('ul.products');
        if (!grid) return;
        new MutationObserver(function () {
            setTimeout(processProducts, 100);
        }).observe(grid.parentNode || grid, { childList: true, subtree: true });
    }

    function init() {
        processProducts();
        observeGridUpdates();
        document.addEventListener('berocket_ajax_filtering_start', function () {
            setTimeout(processProducts, 300);
        });
        document.addEventListener('berocket_ajax_products_loaded', function () {
            setTimeout(processProducts, 100);
        });
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', init);
    } else {
        init();
    }
})();
</script>/* End custom CSS */