/* =========================================================
   Datanalytics Utilities – v1.13.1
   - El CTA hereda colores del tema (normal y hover)
   - Solo layout para el CTA
   - Badges, bordes por stock y sello responsive
   ========================================================= */

/* ===== Cards – bordes por stock ===== */
.woocommerce ul.products li.product{
  border: 2px solid transparent;
  border-radius: 16px;
}
.woocommerce ul.products li.product:not(.outofstock){
  border-color: var(--du-badge-in-text);
}
.woocommerce ul.products li.product.outofstock{
  border-color: var(--du-badge-out-text);
}

/* ===== Badges ===== */
.du-badge, .du-badge-mini{
  display:inline-block;
  padding:.35em .75em;
  border-radius:999px;
  font-weight:600;
  line-height:1;
  font-size:.875rem;
}
.du-badge.in, .du-badge-mini.in{ background:var(--du-badge-in-bg); color:var(--du-badge-in-text); }
.du-badge.out, .du-badge-mini.out{ background:var(--du-badge-out-bg); color:var(--du-badge-out-text); }

/* ===== Meta en cards ===== */
.du-archive-extras{ margin-top:.5rem; }
.du-archive-extras .du-meta{ list-style:none; padding:0; margin:.25rem 0 0 0; }
.du-archive-extras .du-meta li{ margin:.15rem 0; }
.du-archive-extras .du-total strong,
.du-archive-extras .du-reserve strong{ font-weight:800; }

/* ===== Botón inferior en cards =====
   (sin color ni background; los define el tema a través de .button) */
.du-cta-card{
  display:block;
  width:100%;
  text-align:center;
  margin:.85rem 0 0 0;
  padding:.9rem 1.1rem;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  transition:transform .05s ease, opacity .2s ease;
}
.du-cta-card.out{
  opacity:.6;
  cursor:not-allowed;
  pointer-events:none;
}
.du-cta-card:active{ transform:scale(.99); }

/* ===== Recuadro de precios en SINGLE ===== */
.du-price-box{
  background: var(--du-info-bg);
  border: 2px solid var(--du-info-border);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 10px 0 14px 0;
}
.du-price-box .du-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:.35rem 0;
}
.du-price-box .du-label{ font-weight:800; }
.du-price-box .du-amount{ font-weight:700; }

/* ===== Sticky IMG backup ===== */
@media (min-width: 1024px){
  .single-product .product{ align-items:flex-start !important; }
  .woocommerce-product-gallery{ position:sticky !important; top:96px !important; align-self:flex-start !important; }
  .single-product .product .entry-summary{ align-self:stretch !important; }
}

/* ===== Sello RESERVADO ===== */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{ position:relative; }
.woocommerce div.product.outofstock .woocommerce-product-gallery::after,
.woocommerce ul.products li.product.outofstock a.woocommerce-LoopProduct-link::after{
  position:absolute;
  left: var(--du-seal-x);
  top: var(--du-seal-y);
  transform: translate(-50%, -50%) rotate(var(--du-seal-rotate));
  color: var(--du-seal-text);
  opacity: var(--du-seal-opacity);
  letter-spacing:2px;
  font-weight:700;
  text-transform:uppercase;
  background: transparent;
  padding:.35em .6em;
  white-space:nowrap;
}
.woocommerce div.product.outofstock .woocommerce-product-gallery::after{
  border: var(--du-seal-border-single) solid var(--du-seal-color);
  font-size: clamp(14px, 2.6vw, 32px);
}
.woocommerce ul.products li.product.outofstock a.woocommerce-LoopProduct-link::after{
  border: var(--du-seal-border-grid) solid var(--du-seal-color);
  font-size: clamp(12px, 3.2vw, 22px);
}
