.elementor-680 .elementor-element.elementor-element-96132c5{--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;--justify-content:center;--align-items:flex-start;--gap:0px 35px;--row-gap:0px;--column-gap:35px;--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-680 .elementor-element.elementor-element-b2eb4e9 .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:start;}.elementor-680 .elementor-element.elementor-element-b2eb4e9 .woocommerce-breadcrumb > a{color:var( --e-global-color-accent );}.elementor-680 .elementor-element.elementor-element-f0a9e33{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-680 .elementor-element.elementor-element-14b398a{--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.05);--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.woocommerce .elementor-680 .elementor-element.elementor-element-41d1964 .woocommerce-product-gallery__trigger + .woocommerce-product-gallery__wrapper,
					.woocommerce .elementor-680 .elementor-element.elementor-element-41d1964 .flex-viewport{border-radius:5px 5px 5px 5px;}.woocommerce .elementor-680 .elementor-element.elementor-element-41d1964 .flex-viewport:not(:last-child){margin-bottom:7px;}.woocommerce .elementor-680 .elementor-element.elementor-element-41d1964 .flex-control-thumbs img{border-radius:5px 5px 5px 5px;}.elementor-680 .elementor-element.elementor-element-2495138{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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-680 .elementor-element.elementor-element-cbe1fa9 .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-secondary );}.elementor-680 .elementor-element.elementor-element-3ea0e68{--e-rating-icon-marked-color:#E5F80D;--e-rating-icon-color:var( --e-global-color-13cd88f );}.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-680 .elementor-element.elementor-element-3d58614 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:18px;font-weight:500;text-decoration:underline;color:#A5A5A5;}.elementor-680 .elementor-element.elementor-element-3d58614 .elementor-heading-title a:hover, .elementor-680 .elementor-element.elementor-element-3d58614 .elementor-heading-title a:focus{color:var( --e-global-color-primary );}.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-680 .elementor-element.elementor-element-4692490 .price{color:var( --e-global-color-accent );font-family:"DM Sans", Sans-serif;font-size:20px;font-weight:600;text-decoration:none;}.woocommerce .elementor-680 .elementor-element.elementor-element-4692490 .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-680 .elementor-element.elementor-element-50a5bdc.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-680 .elementor-element.elementor-element-50a5bdc .cart button, .elementor-680 .elementor-element.elementor-element-50a5bdc .cart .button{font-family:"Jost", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;border-radius:30px 30px 30px 30px;padding:10px 20px 10px 20px;color:var( --e-global-color-13cd88f );background-color:#86E01D;transition:all 0.2s;}.elementor-680 .elementor-element.elementor-element-50a5bdc .cart button:hover, .elementor-680 .elementor-element.elementor-element-50a5bdc .cart .button:hover{color:var( --e-global-color-13cd88f );background-color:#B7F075;}.elementor-680 .elementor-element.elementor-element-50a5bdc .quantity .qty{border-radius:30px 30px 30px 30px;padding:0px 0px 0px 5px;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-680 .elementor-element.elementor-element-94ee56c .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-680 .elementor-element.elementor-element-94ee56c .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-680 .elementor-element.elementor-element-94ee56c{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-680 .elementor-element.elementor-element-94ee56c .elementor-icon-list-text{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-680 .elementor-element.elementor-element-13597f2{--display:flex;}.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-680 .elementor-element.elementor-element-5b107c2{--n-accordion-title-font-size:1rem;--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:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-border-radius:30px 30px 30px 30px;--n-accordion-icon-size:15px;}:where( .elementor-680 .elementor-element.elementor-element-5b107c2 > .e-n-accordion > .e-n-accordion-item ) > .e-con{border-style:none;}.elementor-680 .elementor-element.elementor-element-6c2e18e{--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;--justify-content:center;--align-items:flex-start;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-680 .elementor-element.elementor-element-6c2e18e:not(.elementor-motion-effects-element-type-background), .elementor-680 .elementor-element.elementor-element-6c2e18e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-0751296 );}.elementor-680 .elementor-element.elementor-element-bfcae8f .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;}.elementor-680 .elementor-element.elementor-element-bf070c0{--display:flex;}.elementor-680 .elementor-element.elementor-element-c96edbc{--n-accordion-title-font-size:16px;width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 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:0px;--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;--n-accordion-icon-normal-color:var( --e-global-color-secondary );}.elementor-680 .elementor-element.elementor-element-c96edbc > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:var( --e-global-color-13cd88f );}.elementor-680 .elementor-element.elementor-element-c96edbc {--n-accordion-padding:10px 10px 10px 20px;}:where( .elementor-680 .elementor-element.elementor-element-c96edbc > .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-680 .elementor-element.elementor-element-c96edbc > .e-n-accordion > .e-n-accordion-item ) > .e-con{border-style:none;}.elementor-680 .elementor-element.elementor-element-013bd43{margin:35px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-680 .elementor-element.elementor-element-013bd43 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;}.elementor-680 .elementor-element.elementor-element-dfbaae0{--swiper-slides-to-display:3;--swiper-slides-gap:0px;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:0px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:0px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;}.elementor-680 .elementor-element.elementor-element-dfbaae0 .swiper-slide > .elementor-element{height:100%;}.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-680 .elementor-element.elementor-element-3fe7709 .elementor-button{background-color:#75DF59;}@media(min-width:768px){.elementor-680 .elementor-element.elementor-element-14b398a{--width:50%;}.elementor-680 .elementor-element.elementor-element-2495138{--width:50%;}}@media(max-width:1024px){.elementor-680 .elementor-element.elementor-element-96132c5{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-680 .elementor-element.elementor-element-b2eb4e9 .woocommerce-breadcrumb{font-size:var( --e-global-typography-accent-font-size );}.elementor-680 .elementor-element.elementor-element-14b398a{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-680 .elementor-element.elementor-element-2495138{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-680 .elementor-element.elementor-element-cbe1fa9 .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-680 .elementor-element.elementor-element-dfbaae0{--swiper-slides-to-display:2;--swiper-slides-gap:0px;}.elementor-680 .elementor-element.elementor-element-dfbaae0.elementor-element{--align-self:flex-start;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-680 .elementor-element.elementor-element-3fe7709.elementor-element{--align-self:center;}}@media(max-width:767px){.elementor-680 .elementor-element.elementor-element-96132c5{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:20px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;}.elementor-680 .elementor-element.elementor-element-b2eb4e9 .woocommerce-breadcrumb{font-size:var( --e-global-typography-accent-font-size );}.elementor-680 .elementor-element.elementor-element-14b398a{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-680 .elementor-element.elementor-element-2495138{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-680 .elementor-element.elementor-element-cbe1fa9 .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 );}.woocommerce .elementor-680 .elementor-element.elementor-element-4692490 .price{font-size:20px;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-680 .elementor-element.elementor-element-50a5bdc{width:var( --container-widget-width, 221px );max-width:221px;--container-widget-width:221px;--container-widget-flex-grow:0;--view-cart-spacing:0px;--button-spacing:0px;}.elementor-680 .elementor-element.elementor-element-50a5bdc .cart button, .elementor-680 .elementor-element.elementor-element-50a5bdc .cart .button{font-size:14px;}.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-680 .elementor-element.elementor-element-6c2e18e{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-680 .elementor-element.elementor-element-bfcae8f{text-align:center;}.elementor-680 .elementor-element.elementor-element-bfcae8f .elementor-heading-title{font-size:16px;}.elementor-680 .elementor-element.elementor-element-013bd43{text-align:center;}.elementor-680 .elementor-element.elementor-element-013bd43 .elementor-heading-title{font-size:20px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-680 .elementor-element.elementor-element-3fe7709{padding:0px 0px 0px 0px;}.elementor-680 .elementor-element.elementor-element-3fe7709.elementor-element{--align-self:center;}.elementor-680 .elementor-element.elementor-element-3fe7709 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-680 .elementor-element.elementor-element-3fe7709 .elementor-button{border-radius:30px 30px 30px 30px;padding:10px 10px 10px 10px;}}/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-50a5bdc *//* ========= 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 */