.elementor-4230 .elementor-element.elementor-element-65f2c76{--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;--margin-top:50px;--margin-bottom:20px;--margin-left:0px;--margin-right:50px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4230 .elementor-element.elementor-element-65f2c76:not(.elementor-motion-effects-element-type-background), .elementor-4230 .elementor-element.elementor-element-65f2c76 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-776d768 );}.elementor-4230 .elementor-element.elementor-element-6e6b478 .woocommerce-breadcrumb{color:var( --e-global-color-primary );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-align:left;}.elementor-4230 .elementor-element.elementor-element-6e6b478 .woocommerce-breadcrumb > a{color:var( --e-global-color-text );}.elementor-4230 .elementor-element.elementor-element-9e52d19{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:10px 35px;--row-gap:10px;--column-gap:35px;--padding-top:30px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-4230 .elementor-element.elementor-element-9e52d19:not(.elementor-motion-effects-element-type-background), .elementor-4230 .elementor-element.elementor-element-9e52d19 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-776d768 );}.elementor-4230 .elementor-element.elementor-element-aaad7d8{--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;--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.15);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:20px;--padding-left:30px;--padding-right:30px;}.elementor-4230 .elementor-element.elementor-element-1795154{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.woocommerce .elementor-4230 .elementor-element.elementor-element-1795154 .woocommerce-product-gallery__trigger + .woocommerce-product-gallery__wrapper,
					.woocommerce .elementor-4230 .elementor-element.elementor-element-1795154 .flex-viewport{border-radius:5px 5px 5px 5px;}.woocommerce .elementor-4230 .elementor-element.elementor-element-1795154 .flex-viewport:not(:last-child){margin-bottom:5px;}.woocommerce .elementor-4230 .elementor-element.elementor-element-1795154 .flex-control-thumbs img{border-style:none;border-radius:5px 5px 5px 5px;}.woocommerce .elementor-4230 .elementor-element.elementor-element-1795154 .flex-control-thumbs li{padding-right:calc(5px / 2);padding-left:calc(5px / 2);padding-bottom:5px;}.woocommerce .elementor-4230 .elementor-element.elementor-element-1795154 .flex-control-thumbs{margin-right:calc(-5px / 2);margin-left:calc(-5px / 2);}.elementor-4230 .elementor-element.elementor-element-77f4ac8{--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;--justify-content:flex-start;--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.15);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4230 .elementor-element.elementor-element-813eca3 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4230 .elementor-element.elementor-element-987d783 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:18px;font-weight:400;text-decoration:underline;color:#5A5A5A;}.elementor-4230 .elementor-element.elementor-element-987d783 .elementor-heading-title a:hover, .elementor-4230 .elementor-element.elementor-element-987d783 .elementor-heading-title a:focus{color:var( --e-global-color-primary );}.woocommerce .elementor-4230 .elementor-element.elementor-element-9fae390 .star-rating{color:#FFF304;}.woocommerce .elementor-4230 .elementor-element.elementor-element-9fae390 .star-rating::before{color:var( --e-global-color-text );}.woocommerce .elementor-4230 .elementor-element.elementor-element-9fae390 .woocommerce-review-link{color:#5A5A5A;font-family:"DM Sans", Sans-serif;font-size:13px;font-weight:400;}.woocommerce:not(.rtl) .elementor-4230 .elementor-element.elementor-element-9fae390 .star-rating{margin-right:15px;}.woocommerce.rtl .elementor-4230 .elementor-element.elementor-element-9fae390 .star-rating{margin-left:15px;}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.woocommerce .elementor-4230 .elementor-element.elementor-element-ea76ee6 .price{color:#BF927B;font-family:"DM Sans", Sans-serif;font-size:20px;font-weight:600;}.woocommerce .elementor-4230 .elementor-element.elementor-element-ea76ee6 .price ins{color:var( --e-global-color-secondary );font-size:27px;text-decoration:none;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{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 );}.elementor-4230 .elementor-element.elementor-element-e0838b7 .cart button, .elementor-4230 .elementor-element.elementor-element-e0838b7 .cart .button{font-family:"Jost", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;border-style:none;border-radius:30px 30px 30px 30px;padding:0px 0px 0px 0px;color:var( --e-global-color-776d768 );background-color:#49D441;transition:all 0.2s;}.elementor-4230 .elementor-element.elementor-element-e0838b7 .cart button:hover, .elementor-4230 .elementor-element.elementor-element-e0838b7 .cart .button:hover{color:var( --e-global-color-776d768 );background-color:#71D26B;}.elementor-4230 .elementor-element.elementor-element-e0838b7 .quantity .qty{border-style:solid;border-radius:30px 30px 30px 30px;padding:15px 10px 15px 10px;color:var( --e-global-color-secondary );border-color:var( --e-global-color-primary );transition:all 0.2s;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-icon i{color:var( --e-global-color-text );transition:color 0.3s;}.elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-icon svg{fill:var( --e-global-color-text );transition:fill 0.3s;}.elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-4230 .elementor-element.elementor-element-739b9da{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-item > .elementor-icon-list-text, .elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-item > a{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;}.elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-text{color:var( --e-global-color-text );transition:color 0.3s;}.elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-item:hover .elementor-icon-list-text{color:var( --e-global-color-primary );}.elementor-4230 .elementor-element.elementor-element-63404f1{--display:flex;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-4230 .elementor-element.elementor-element-aae2bc0{text-align:justify;color:var( --e-global-color-secondary );font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;}.elementor-4230 .elementor-element.elementor-element-db31f71{--n-accordion-title-font-size:1rem;width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-justify-content:space-between;--n-accordion-title-flex-grow:1;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:8px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-border-radius:30px 30px 30px 30px;--n-accordion-icon-size:15px;}:where( .elementor-4230 .elementor-element.elementor-element-db31f71 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-weight:600;}:where( .elementor-4230 .elementor-element.elementor-element-db31f71 > .e-n-accordion > .e-n-accordion-item ) > .e-con{border-style:none;}.elementor-4230 .elementor-element.elementor-element-c0c58a0{--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:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-4230 .elementor-element.elementor-element-c0c58a0:not(.elementor-motion-effects-element-type-background), .elementor-4230 .elementor-element.elementor-element-c0c58a0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F1E9E4B5;}.elementor-4230 .elementor-element.elementor-element-572cac0 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:25px;font-weight:600;text-transform:uppercase;color:#AD785D;}.elementor-4230 .elementor-element.elementor-element-e7af5a7{--display:flex;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-4230 .elementor-element.elementor-element-0b0f28d{--n-accordion-title-font-size:18px;width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-justify-content:space-between;--n-accordion-title-flex-grow:1;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:8px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-border-radius:30px 30px 30px 30px;--n-accordion-title-normal-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;}.elementor-4230 .elementor-element.elementor-element-0b0f28d > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#FFFFFF;}.elementor-4230 .elementor-element.elementor-element-0b0f28d {--n-accordion-padding:10px 10px 10px 20px;}:where( .elementor-4230 .elementor-element.elementor-element-0b0f28d > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"DM Sans", Sans-serif;font-weight:600;text-transform:uppercase;}:where( .elementor-4230 .elementor-element.elementor-element-0b0f28d > .e-n-accordion > .e-n-accordion-item ) > .e-con{border-style:none;}.elementor-4230 .elementor-element.elementor-element-cfb15f0 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:25px;font-weight:600;text-transform:uppercase;color:#AD785D;}.elementor-4230 .elementor-element.elementor-element-5754ef9{--swiper-slides-to-display:3;--swiper-slides-gap:0px;--swiper-pagination-size:10px;--dots-normal-color:var( --e-global-color-primary );--dots-hover-color:var( --e-global-color-text );}.elementor-4230 .elementor-element.elementor-element-5754ef9 .swiper-slide > .elementor-element{height:100%;}.elementor-4230 .elementor-element.elementor-element-5754ef9 .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:5px;--swiper-pagination-bullet-vertical-gap:5px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );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 );}.elementor-4230 .elementor-element.elementor-element-6b2a6eb .elementor-button{background-color:#49D441;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;fill:#FFFFFF;color:#FFFFFF;}body.elementor-page-4230:not(.elementor-motion-effects-element-type-background), body.elementor-page-4230 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-776d768 );}@media(min-width:768px){.elementor-4230 .elementor-element.elementor-element-65f2c76{--content-width:1120px;}.elementor-4230 .elementor-element.elementor-element-9e52d19{--content-width:1120px;}.elementor-4230 .elementor-element.elementor-element-aaad7d8{--width:50%;}.elementor-4230 .elementor-element.elementor-element-77f4ac8{--width:50%;}.elementor-4230 .elementor-element.elementor-element-c0c58a0{--content-width:1120px;}}@media(max-width:1024px){.elementor-4230 .elementor-element.elementor-element-65f2c76{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-4230 .elementor-element.elementor-element-6e6b478 .woocommerce-breadcrumb{font-size:var( --e-global-typography-accent-font-size );}.elementor-4230 .elementor-element.elementor-element-9e52d19{--gap:0px 15px;--row-gap:0px;--column-gap:15px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-4230 .elementor-element.elementor-element-aaad7d8{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-4230 .elementor-element.elementor-element-77f4ac8{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.woocommerce .elementor-widget-woocommerce-product-price .price{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-woocommerce-product-content{font-size:var( --e-global-typography-text-font-size );}.elementor-4230 .elementor-element.elementor-element-db31f71{--n-accordion-item-title-distance-from-content:10px;}.elementor-4230 .elementor-element.elementor-element-c0c58a0{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-4230 .elementor-element.elementor-element-572cac0 .elementor-heading-title{font-size:20px;}.elementor-4230 .elementor-element.elementor-element-0b0f28d{--n-accordion-title-font-size:16px;}.elementor-4230 .elementor-element.elementor-element-cfb15f0 .elementor-heading-title{font-size:20px;}.elementor-4230 .elementor-element.elementor-element-5754ef9{--swiper-slides-to-display:2;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:767px){.elementor-4230 .elementor-element.elementor-element-65f2c76{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;}.elementor-4230 .elementor-element.elementor-element-6e6b478 .woocommerce-breadcrumb{font-size:var( --e-global-typography-accent-font-size );}.elementor-4230 .elementor-element.elementor-element-9e52d19{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-4230 .elementor-element.elementor-element-aaad7d8{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-4230 .elementor-element.elementor-element-77f4ac8{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-4230 .elementor-element.elementor-element-648c49d{text-align:left;}.woocommerce .elementor-4230 .elementor-element.elementor-element-648c49d .woocommerce-product-details__short-description{font-size:14px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.woocommerce .elementor-widget-woocommerce-product-price .price{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-4230 .elementor-element.elementor-element-e0838b7 .cart button, .elementor-4230 .elementor-element.elementor-element-e0838b7 .cart .button{font-size:14px;}.elementor-4230 .elementor-element.elementor-element-e0838b7{--button-spacing:5px;}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-size:var( --e-global-typography-text-font-size );}.elementor-4230 .elementor-element.elementor-element-739b9da{--e-icon-list-icon-size:10px;}.elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-item > .elementor-icon-list-text, .elementor-4230 .elementor-element.elementor-element-739b9da .elementor-icon-list-item > a{font-size:10px;}.elementor-4230 .elementor-element.elementor-element-63404f1{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-woocommerce-product-content{font-size:var( --e-global-typography-text-font-size );}.elementor-4230 .elementor-element.elementor-element-aae2bc0{text-align:left;font-size:13px;line-height:1.4em;}.elementor-4230 .elementor-element.elementor-element-db31f71{--n-accordion-title-font-size:16px;}.elementor-4230 .elementor-element.elementor-element-572cac0{text-align:center;}.elementor-4230 .elementor-element.elementor-element-572cac0 .elementor-heading-title{font-size:18px;}.elementor-4230 .elementor-element.elementor-element-0b0f28d{--n-accordion-title-font-size:16px;}.elementor-4230 .elementor-element.elementor-element-cfb15f0{text-align:center;}.elementor-4230 .elementor-element.elementor-element-cfb15f0 .elementor-heading-title{font-size:18px;}.elementor-4230 .elementor-element.elementor-element-5754ef9{--swiper-slides-to-display:1;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-4230 .elementor-element.elementor-element-6b2a6eb .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-4230 .elementor-element.elementor-element-6b2a6eb .elementor-button{font-size:16px;border-radius:30px 30px 30px 30px;padding:15px 15px 15px 15px;}}/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-e0838b7 *//* ========= Badge de desconto para Loop do Elementor =========
   [ds_sale_badge]  -> imprime a badge ex: -35%
   Atributos:
     id   (opcional)  -> força um produto específico, ex: id="123"
     show (opcional)  -> "max" (padrão) ou "min" p/ produto variável
     class(opcional)  -> classe extra, ex: class="minha-badge"
*/

if (!function_exists('ds_calc_discount_pct')) {
  function ds_calc_discount_pct($p, $mode = 'max'){
    // retorna 0 se não estiver em promo
    if (!$p || !method_exists($p, 'is_on_sale') || !$p->is_on_sale()) return 0;

    // helper
    $pct = 0; $init = ($mode === 'min') ? 999 : 0;
    $combine = function($curr, $val, $mode){
      if ($mode === 'min') return min($curr, $val);
      return max($curr, $val);
    };

    $calc = function($regular, $sale){
      $r = floatval($regular); $s = floatval($sale);
      if ($r <= 0 || $s <= 0 || $s >= $r) return 0;
      return round((($r - $s) / $r) * 100);
    };

    if ($p->is_type('variable')) {
      $pct = ($mode === 'min') ? 999 : 0;
      foreach ($p->get_children() as $vid){
        $v = wc_get_product($vid);
        if (!$v || !$v->is_on_sale()) continue;

        // usa preço “para exibição” (considera tax settings)
        $regular = wc_get_price_to_display($v, ['price' => $v->get_regular_price()]);
        $sale    = wc_get_price_to_display($v, ['price' => $v->get_sale_price()]);
        $p_var   = $calc($regular, $sale);

        if ($p_var > 0) $pct = $combine($pct, $p_var, $mode);
      }
      if ($mode === 'min' && $pct === 999) $pct = 0; // nenhum válido
    } else {
      $regular = wc_get_price_to_display($p, ['price' => $p->get_regular_price()]);
      $sale    = wc_get_price_to_display($p, ['price' => $p->get_sale_price()]);
      $pct     = $calc($regular, $sale);
    }

    return max(0, intval($pct));
  }
}

add_shortcode('ds_sale_badge', function($atts){
  if (!function_exists('wc_get_product')) return '';
  $a = shortcode_atts([
    'id'    => '',
    'show'  => 'max',   // 'max' ou 'min' p/ produto variável
    'class' => 'ds-sale-badge'
  ], $atts, 'ds_sale_badge');

  global $product;
  $old = $product;

  // tenta pegar produto atual do loop
  $pid = $a['id'] ? intval($a['id']) : get_the_ID();
  $product = $pid ? wc_get_product($pid) : $product;

  $pct = ds_calc_discount_pct($product, strtolower($a['show']) === 'min' ? 'min' : 'max');

  // restaura contexto
  $product = $old;

  if ($pct <= 0) return ''; // não mostra nada se não estiver em promo

  return '<span class="'.esc_attr($a['class']).'" aria-label="Desconto de '.$pct.'%">-'
         .$pct.'%</span>';
});/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8729bfc */button.cr-all-reviews-add-review {
    font-weight: 600;
    font-family: 'DM Sans';
    border-radius: 30px;
    background-color: #97cd2c !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8729bfc */button.cr-all-reviews-add-review {
    font-weight: 600;
    font-family: 'DM Sans';
    border-radius: 30px;
    background-color: #97cd2c !important;
}/* End custom CSS */