@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/poppins-latin-400.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/poppins-latin-ext-400.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(fonts/poppins-latin-500.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(fonts/poppins-latin-ext-500.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(fonts/poppins-latin-600.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(fonts/poppins-latin-ext-600.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url(fonts/poppins-latin-700.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url(fonts/poppins-latin-ext-700.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root{
  --bvc-primary:#1c5539;
  --bvc-primary-dark:#164229;
  --bvc-font:'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bvc-border:#e3e3e3;
  --bvc-muted:#6b7280;
  --bvc-text:#111;
  --bvc-card-bg:#fff;
  --bvc-price-bg:#f8f8f6;
  --bvc-price-label:#6b7280;
  --bvc-price-value:#1c5539;
  --bvc-price-border:#e3e3e3;
  --bvc-price-radius:10px;
  --bvc-price-pad:12px;
  --bvc-price-border-w:0px;
  --bvc-price-size:22px;
  --bvc-button-text:#fff;
  --bvc-button-disabled:#9ca3af;
  --bvc-oos-bg:#111;
  --bvc-oos-text:#fff;
  --bvc-sale-bg:#c2410c;
  --bvc-sale-text:#fff;
  --bvc-radius:10px;
  --bvc-gap:10px;
  --bvc-cols-desktop:3;
  --bvc-cols-tablet:2;
  --bvc-cols-mobile:2;
  --bvc-img-ratio:1/1;
}

/* ---- Visibilidad segura ---------------------------------------
   Las tarjetas solo aparecen si el JS las ha activado.
   Si el JS falla, se ve el desplegable nativo y se puede comprar. */
.bvc-cards-wrap{ display:none; }
.variations_form.bvc-cards-active .bvc-cards-wrap{
  display:block;
  margin:0 0 20px;
  font-family:var(--bvc-font);
}

.variations_form.bvc-cards-active:not(.bvc-cards-mixed) .variations,
.variations_form.bvc-cards-active:not(.bvc-cards-mixed) .reset_variations,
.variations_form.bvc-cards-active.bvc-cards-mixed tr.bvc-is-card-attr{
  position:absolute !important;
  width:1px; height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

/* ---- Grupos de atributos --------------------------------------- */
.bvc-cards-group{ margin:0 0 18px; }
.bvc-cards-group:last-of-type{ margin-bottom:8px; }

.bvc-cards__label{
  font-family:var(--bvc-font);
  font-weight:600;
  font-size:15px;
  line-height:1.3;
  margin:0 0 10px;
  color:var(--bvc-text);
}

.bvc-cards{
  display:grid;
  gap:var(--bvc-gap);
  grid-template-columns:repeat(var(--bvc-cols-desktop), minmax(0,1fr));
}

/* ---- Tarjeta --------------------------------------------------- */
.bvc-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:2px;
  min-width:0;
  padding:12px 8px 14px;
  background:var(--bvc-card-bg);
  color:var(--bvc-text);
  border-radius:var(--bvc-radius);
  cursor:pointer;
  box-shadow:inset 0 0 0 1px var(--bvc-border);
  transition:box-shadow .15s ease, opacity .15s ease;
}
.bvc-card:hover{ box-shadow:inset 0 0 0 1px var(--bvc-primary); }
.bvc-card.is-selected{ box-shadow:inset 0 0 0 2px var(--bvc-primary); }
.bvc-card:has(.bvc-card__input:focus-visible){
  box-shadow:inset 0 0 0 2px var(--bvc-primary), 0 0 0 3px rgba(28,85,57,.2);
}

.bvc-card__input{ position:absolute; opacity:0; pointer-events:none; }

.bvc-card__media{ display:block; width:100%; margin-bottom:6px; }
.bvc-card__media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:var(--bvc-img-ratio);
  object-fit:cover;
  border-radius:6px;
}

.bvc-card__title{
  font-weight:600;
  font-size:15px;
  line-height:1.2;
  color:var(--bvc-text);
}
.bvc-card__desc{
  font-size:11.5px;
  line-height:1.25;
  color:var(--bvc-muted);
  text-wrap:balance;
}
.bvc-card__price{
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  color:var(--bvc-primary);
}
.bvc-card__price--extra{
  font-variant-numeric:tabular-nums;
}
.bvc-card__price--extra.is-zero{
  color:var(--bvc-muted);
  font-weight:500;
}
.bvc-card__from{
  font-weight:500;
  color:var(--bvc-muted);
  font-size:11px;
}
.bvc-card__stock{
  font-size:11px;
  line-height:1.2;
  color:var(--bvc-muted);
}
.bvc-card.is-disabled .bvc-card__stock{ display:none; }

/* ---- Combinación no disponible / agotado / oferta -------------- */
.bvc-card.is-disabled{
  opacity:.4;
  cursor:not-allowed;
  filter:grayscale(.3);
}
.bvc-hide-unavailable .bvc-card.is-disabled{ display:none; }
.bvc-card__badge--out{
  position:absolute; top:8px; right:8px;
  background:var(--bvc-oos-bg); color:var(--bvc-oos-text);
  font-size:10px; letter-spacing:.04em; text-transform:uppercase;
  padding:2px 7px; border-radius:99px;
  opacity:0;
  transition:opacity .15s ease;
}
.bvc-card.is-disabled .bvc-card__badge--out{ opacity:1; }
.bvc-card__badge--sale{
  position:absolute; top:8px; left:8px;
  background:var(--bvc-sale-bg); color:var(--bvc-sale-text);
  font-size:10px; letter-spacing:.04em; text-transform:uppercase;
  padding:2px 7px; border-radius:99px;
  z-index:1;
}
.bvc-card.is-disabled .bvc-card__badge--sale{ opacity:.35; }

/* ---- Precio dinámico ------------------------------------------- */
.bvc-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:16px 0 4px;
  padding:var(--bvc-price-pad);
  background:var(--bvc-price-bg);
  border:var(--bvc-price-border-w) solid var(--bvc-price-border);
  border-radius:var(--bvc-price-radius);
  font-family:var(--bvc-font);
}
.bvc-price__label{
  flex:0 0 auto;
  font-size:11px;
  font-weight:600;
  color:var(--bvc-price-label);
  text-transform:uppercase;
  letter-spacing:.14em;
  line-height:1.2;
}
.bvc-price__amount{
  order:-1;
  display:flex;
  flex-direction:row;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}
.bvc-price__value{
  font-size:var(--bvc-price-size);
  font-weight:700;
  color:var(--bvc-price-value);
  line-height:1;
  font-family:var(--bvc-font);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
}
.bvc-price__value .woocommerce-Price-amount,
.bvc-price__value .amount{
  font-size:inherit;
  font-weight:inherit;
  color:inherit;
  font-family:inherit;
}
.bvc-price__unit{
  display:inline-flex;
  align-items:center;
  font-size:11px;
  font-weight:500;
  line-height:1;
  color:var(--bvc-price-label);
  background:var(--bvc-card-bg);
  box-shadow:inset 0 0 0 1px var(--bvc-border);
  padding:4px 8px;
  border-radius:99px;
}
.bvc-price__unit:empty,
.bvc-price__unit[hidden]{ display:none; }
.bvc-price.is-empty .bvc-price__value{
  color:var(--bvc-price-label);
  font-size:14px;
  font-weight:500;
  letter-spacing:0;
}

/* ---- Fila cantidad + botón ------------------------------------- */
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart{
  display:flex;
  gap:12px;
  align-items:stretch;
  font-family:var(--bvc-font);
}

body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .quantity{
  display:flex;
  align-items:stretch;
  flex:0 0 auto;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  background-color:var(--bvc-card-bg) !important;
  border:0 !important;
  border-radius:var(--bvc-radius) !important;
  box-shadow:inset 0 0 0 1px var(--bvc-border);
  overflow:hidden;
}
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .quantity:focus-within{
  box-shadow:inset 0 0 0 2px var(--bvc-primary);
}

body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .bvc-qty__btn{
  flex:0 0 auto;
  width:40px;
  height:auto;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  font-family:var(--bvc-font);
  font-size:20px;
  font-weight:400;
  line-height:1;
  color:var(--bvc-text);
  cursor:pointer;
  transition:color .15s ease;
}
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .bvc-qty__btn:hover{
  color:var(--bvc-primary);
}

body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .quantity input.qty{
  width:44px !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent !important;
  box-shadow:none !important;
  text-align:center;
  font-family:var(--bvc-font);
  font-size:16px;
  font-weight:500;
  color:var(--bvc-text);
  -moz-appearance:textfield;
  appearance:textfield;
}
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .quantity input.qty:focus{
  outline:0;
  box-shadow:none !important;
}
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-outer-spin-button,
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:auto;
  min-height:56px !important;
  margin:0 !important;
  padding:0 24px !important;
  border:0 !important;
  border-radius:var(--bvc-radius) !important;
  background-color:var(--bvc-primary) !important;
  background-image:none !important;
  color:var(--bvc-button-text) !important;
  font-family:var(--bvc-font);
  font-size:14px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background-color .15s ease;
}
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover,
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .single_add_to_cart_button:focus{
  background-color:var(--bvc-primary-dark) !important;
  color:var(--bvc-button-text) !important;
}
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled,
body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .single_add_to_cart_button:disabled{
  background-color:var(--bvc-button-disabled) !important;
  cursor:not-allowed;
}

body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .single_add_to_cart_button::before{
  content:'';
  flex:0 0 auto;
  width:20px;
  height:20px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.6 12.2a1.5 1.5 0 0 0 1.5 1.2h8.4a1.5 1.5 0 0 0 1.5-1.2L21 7H6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.6 12.2a1.5 1.5 0 0 0 1.5 1.2h8.4a1.5 1.5 0 0 0 1.5-1.2L21 7H6'/%3E%3C/svg%3E") center/contain no-repeat;
}

body .variations_form.bvc-cards-active.bvc-no-cart-icon .woocommerce-variation-add-to-cart .single_add_to_cart_button::before{
  display:none;
}

.variations_form.bvc-cards-active .woocommerce-variation-price{ display:none; }
.variations_form.bvc-cards-active .woocommerce-variation-description{ display:none; }

.bvc-sticky-bar{ display:none; }
.bvc-sticky-spacer{ display:none; height:0; pointer-events:none; }

@media (max-width:1024px){
  .bvc-cards{ grid-template-columns:repeat(var(--bvc-cols-tablet), minmax(0,1fr)); }
}

@media (max-width:767px){
  .bvc-cards{ gap:8px; }
  .bvc-card{ padding:10px 6px 12px; }
  .bvc-card__title{ font-size:14px; }
  .bvc-card__desc{ font-size:11px; }
  .bvc-cards{ grid-template-columns:repeat(var(--bvc-cols-mobile), minmax(0,1fr)); }

  .variations_form.bvc-cards-active.bvc-has-sticky-bar .bvc-sticky-bar{
    display:flex;
    flex-direction:column;
    gap:8px;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:100050;
    width:100%;
    max-width:100%;
    margin:0;
    padding:10px 16px calc(16px + env(safe-area-inset-bottom, 0px));
    background:var(--bvc-card-bg);
    box-shadow:0 -12px 32px rgba(17,17,17,.14);
    box-sizing:border-box;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
  .variations_form.bvc-cards-active.bvc-has-sticky-bar .bvc-sticky-spacer{
    display:block;
  }
  .variations_form.bvc-cards-active.bvc-has-sticky-bar .bvc-sticky-bar .bvc-price{
    margin:0;
    padding:10px 12px;
  }
  .variations_form.bvc-cards-active.bvc-has-sticky-bar .bvc-sticky-bar .bvc-price__value{
    font-size:20px;
  }
  .variations_form.bvc-cards-active.bvc-has-sticky-bar .bvc-sticky-bar .woocommerce-variation-add-to-cart{
    margin:0 !important;
    width:100%;
  }
  .variations_form.bvc-cards-active.bvc-has-sticky-bar .bvc-sticky-bar .single_add_to_cart_button{
    min-height:48px !important;
  }
}

@media (max-width:479px){
  body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart{ gap:8px; }
  body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .bvc-qty__btn{ width:34px; }
  body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .quantity input.qty{ width:36px !important; }
  body .variations_form.bvc-cards-active .woocommerce-variation-add-to-cart .single_add_to_cart_button{
    padding:0 12px !important;
    font-size:13px;
    letter-spacing:.04em;
  }
}
