/* SVP MWI — Swatches seguros para variaciones WooCommerce/Astra
 * - Oculta valores sin stock real.
 * - Oculta atributo interno pa_almacen.
 * - No auto-selecciona atributos visibles del cliente.
 */

.svp-warehouse-hidden,
tr.svp-warehouse-hidden,
.value.svp-warehouse-hidden,
.variations__row.svp-warehouse-hidden,
.woo-variation-items-wrapper.svp-warehouse-hidden{
  display: none !important;
  visibility: hidden !important;
}

.ast-variation-button-group .ast-single-variation{
  position: relative;
  min-height: 52px;
  padding: 4px 8px;
  margin: 0 8px 8px 0;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.ast-variation-button-group .ast-single-variation.svp-var-hidden{
  display: none !important;
}

.ast-variation-button-group .ast-single-variation .svp-var-price,
.ast-variation-button-group .ast-single-variation .svp-var-subtext{
  display: none !important;
}

.ast-variation-button-group .ast-single-variation .svp-var-text{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.15;
  font-size: 16px;
  font-weight: 700;
  pointer-events: none;
  letter-spacing: -.022em;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

/* Swatch color dentro del selector de color */
.ast-variation-button-group.svp-is-color .ast-single-variation{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ast-variation-button-group.svp-is-color .ast-single-variation.svp-var-hidden{
  display: none !important;
}

.ast-variation-button-group.svp-is-color .ast-single-variation::before{
  content: "";
  width: 25px;
  height: 25px;
  border-radius: 100%;
  border: 1px solid var(--svp-swatch,#9ca3af);
  background: radial-gradient(circle at center,
    var(--svp-swatch,#9ca3af) 0 9px,
    #fff 10px 100%
  );
  box-sizing: border-box;
  flex: 0 0 25px;
}

.ast-variation-button-group.svp-is-color .ast-single-variation[data-swatch="white"]::before{
  border-color: rgba(0,0,0,.35);
  background: radial-gradient(circle at center,#f3f3f3 0 9px,#fff 10px 100%);
}

.ast-variation-button-group .ast-single-variation:focus-visible{
  outline: 2px solid var(--ast-global-color-0, #492cdd);
  outline-offset: 2px;
}

@media (max-width: 768px){
  .ast-variation-button-group .ast-single-variation{
    min-height: 56px;
    padding: 10px 12px;
    margin: 0 10px 10px 0;
  }
}

/* Opción visible pero no compatible con la combinación actual.
 * Tiene stock en otra combinación, por eso no se oculta.
 */
.ast-variation-button-group .ast-single-variation.svp-var-needs-switch{
  opacity: .42 !important;
  filter: grayscale(.15);
  cursor: pointer !important;
  pointer-events: auto !important;
}

.ast-variation-button-group .ast-single-variation.svp-var-needs-switch:hover{
  opacity: .72 !important;
}

.ast-variation-button-group .ast-single-variation.svp-var-needs-switch::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

.svp-state-hidden,
tr.svp-state-hidden,
.value.svp-state-hidden,
.variations__row.svp-state-hidden,
.woo-variation-items-wrapper.svp-state-hidden{
  display: none !important;
  visibility: hidden !important;
}