/*
 * DNN Central de Promoções — vitrine e página do produto
 * Os overlays são posicionados pelo countdown.js no contêiner real da imagem.
 */
.dnn-promo-overlay-host{
  position:relative!important;
  isolation:isolate;
}

article.plp-card a.dnn-promo-overlay-host,
.woocommerce ul.products li.product a.dnn-promo-overlay-host,
.wc-block-grid__product a.dnn-promo-overlay-host{
  display:block!important;
}

.woocommerce .onsale{display:none!important}

.dnn-promo-overlays{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  pointer-events:none!important;
  z-index:48!important;
  overflow:visible!important;
  font-family:inherit;
}

.dnn-promo-percent,
.dnn-promo-badge{
  position:absolute!important;
  box-sizing:border-box!important;
  margin:0!important;
  transform:none!important;
  pointer-events:none!important;
  z-index:2!important;
}

.dnn-promo-percent{
  top:12px!important;
  left:12px!important;
  right:auto!important;
  bottom:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  min-width:50px;
  max-width:calc(50% - 18px);
  min-height:31px;
  padding:7px 10px!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff4b45,#ef2f42)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(190,24,55,.28)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.01em;
  text-align:center!important;
  white-space:nowrap!important;
}

.dnn-promo-badge{
  top:12px!important;
  right:12px!important;
  left:auto!important;
  bottom:auto!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  width:max-content!important;
  min-width:108px;
  max-width:calc(58% - 18px);
  min-height:46px;
  padding:7px 10px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:11px!important;
  background:var(--dnn-badge-bg,#79c64c)!important;
  color:var(--dnn-badge-fg,#fff)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.22)!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
}

.dnn-promo-badge-label{
  display:block!important;
  color:inherit!important;
  font-size:8px!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  opacity:.94;
}

.dnn-promo-time{
  display:block!important;
  color:inherit!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important;
  font-size:13px!important;
  font-variant-numeric:tabular-nums;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
}

.dnn-promo-loop .dnn-promo-percent{
  top:9px!important;
  left:9px!important;
  min-width:43px;
  min-height:27px;
  padding:6px 8px!important;
  font-size:11px!important;
}

.dnn-promo-loop .dnn-promo-badge{
  top:9px!important;
  right:9px!important;
  min-width:92px;
  min-height:40px;
  padding:6px 8px!important;
  border-radius:10px!important;
}

.dnn-promo-loop .dnn-promo-badge-label{font-size:7px!important}
.dnn-promo-loop .dnn-promo-time{font-size:11px!important}

.dnn-promo-badge.is-ending{
  animation:dnnPromoPulse 2.2s ease-in-out infinite;
}

.dnn-promo-badge.is-ended{
  min-width:88px;
  opacity:.88;
  animation:none;
}

@keyframes dnnPromoPulse{
  0%,100%{box-shadow:0 8px 20px rgba(15,23,42,.20)}
  50%{box-shadow:0 8px 24px rgba(15,23,42,.28),0 0 0 4px rgba(255,255,255,.18)}
}

/* Preços */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price{
  color:var(--dnn-price-regular,#8a8f9c);
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.woocommerce ul.products li.product .price ins{
  color:var(--dnn-price-sale,#2aa84a);
  font-weight:800;
  text-decoration:none;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.woocommerce ul.products li.product .price del{
  color:var(--dnn-price-regular,#8a8f9c);
  opacity:.86;
}

/* Compatibilidade com os cards e galerias usados pelos temas DNN. */
article.plp-card a.pic,
article.plp-card .pic,
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce-product-gallery,
.woocommerce div.product div.images,
.dnn-pdp-main{
  position:relative;
}

@media (max-width:782px){
  .dnn-promo-single .dnn-promo-percent{
    top:10px!important;
    left:10px!important;
    right:auto!important;
    max-width:44%;
    min-width:44px;
    min-height:28px;
    padding:6px 8px!important;
    font-size:11px!important;
  }

  .dnn-promo-single .dnn-promo-badge{
    top:10px!important;
    right:10px!important;
    left:auto!important;
    width:max-content!important;
    min-width:96px;
    max-width:52%;
    min-height:40px;
    padding:6px 8px!important;
  }

  .dnn-promo-single .dnn-promo-badge-label{font-size:7px!important}
  .dnn-promo-single .dnn-promo-time{font-size:11px!important}
}

@media (max-width:480px){
  .dnn-promo-loop .dnn-promo-percent{
    top:7px!important;
    left:7px!important;
    right:auto!important;
    min-width:38px;
    min-height:24px;
    padding:5px 7px!important;
    font-size:10px!important;
  }

  .dnn-promo-loop .dnn-promo-badge{
    top:7px!important;
    right:7px!important;
    left:auto!important;
    width:max-content!important;
    min-width:78px;
    max-width:58%;
    min-height:35px;
    padding:5px 6px!important;
    border-radius:9px!important;
  }

  .dnn-promo-loop .dnn-promo-badge-label{font-size:6px!important}
  .dnn-promo-loop .dnn-promo-time{font-size:9px!important}
}

/* Em celulares muito estreitos a grade DNN mantém duas colunas. O rótulo visual
 * é reduzido, mas o texto completo permanece disponível no aria-label. */
@media (max-width:380px){
  .dnn-promo-loop .dnn-promo-percent{
    top:6px!important;
    left:6px!important;
    min-width:32px;
    min-height:22px;
    padding:4px 5px!important;
    font-size:9px!important;
  }

  .dnn-promo-loop .dnn-promo-badge{
    top:6px!important;
    right:6px!important;
    min-width:62px;
    max-width:64%;
    min-height:27px;
    padding:5px!important;
  }

  .dnn-promo-loop .dnn-promo-badge-label{display:none!important}
  .dnn-promo-loop .dnn-promo-time{font-size:8px!important}
}

@media (prefers-reduced-motion:reduce){
  .dnn-promo-badge.is-ending{animation:none}
}
