.woocommerce div.product form.variations_form { display: block; margin-top: 28px; }
.woocommerce div.product form.variations_form table.variations { margin: 0 0 22px; border: 0; }
.woocommerce div.product form.variations_form table.variations tr { display: grid; gap: 9px; }
.woocommerce div.product form.variations_form table.variations th,
.woocommerce div.product form.variations_form table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.woocommerce div.product form.variations_form table.variations label { color: #f6e4c5; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.woocommerce div.product form.variations_form table.variations select {
  width: 100%;
  min-height: 54px;
  padding: 0 48px 0 18px;
  border: 1px solid rgba(247, 189, 79, .34);
  border-radius: 8px;
  color: #fff4d7;
  background: #321509;
  font: 700 .88rem var(--killa-font-body, sans-serif);
}
.woocommerce div.product form.variations_form .reset_variations { display: inline-block; margin-top: 9px; color: #f7bd4f; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce div.product .single_variation_wrap { margin-top: 16px; }
.woocommerce div.product .woocommerce-variation-price .price { display: block; margin-bottom: 18px; color: #f7bd4f; font: 600 2rem var(--killa-font-display, serif); }
.woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }

.woocommerce div.product form.variations_form table.variations td.value { position: relative; }
.woocommerce div.product form.variations_form select.killa-presentation-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}
.killa-presentation-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(122px, 1fr));
  gap: 11px;
}
.killa-presentation-card {
  position: relative;
  display: grid;
  min-height: 112px;
  padding: 17px 15px 15px;
  overflow: hidden;
  align-content: center;
  gap: 7px;
  border: 1px solid rgba(92, 49, 25, .26);
  border-radius: 4px 20px 4px 4px;
  color: #3b2112;
  background:
    radial-gradient(circle at 88% 16%, rgba(215, 126, 47, .16), transparent 32%),
    #fbefd7;
  box-shadow: 0 8px 22px rgba(61, 29, 12, .08), inset 0 1px rgba(255, 255, 255, .85);
  font-family: var(--killa-font-body, sans-serif);
  text-align: left;
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, color .22s ease, background .22s ease, box-shadow .22s ease;
}
.killa-presentation-card::after {
  content: "";
  position: absolute;
  top: 13px;
  right: 13px;
  width: 10px;
  height: 10px;
  border: 1px solid rgba(70, 35, 17, .35);
  border-radius: 50%;
  background: transparent;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .36);
}
.killa-presentation-card:hover { border-color: #c96c2d; transform: translateY(-3px); box-shadow: 0 14px 28px rgba(61, 29, 12, .13); }
.killa-presentation-card:focus-visible { outline: 3px solid rgba(201, 108, 45, .36); outline-offset: 3px; }
.killa-presentation-card.is-selected {
  border-color: #f0a83f;
  color: #fff2d6;
  background:
    radial-gradient(circle at 85% 18%, rgba(235, 137, 48, .28), transparent 36%),
    linear-gradient(145deg, #54250f, #2f150b);
  box-shadow: 0 16px 34px rgba(62, 27, 10, .22), inset 0 1px rgba(255, 230, 177, .16);
  transform: translateY(-3px);
}
.killa-presentation-card.is-selected::after { border-color: #ffd176; background: #f3a33c; box-shadow: 0 0 0 3px rgba(255, 211, 125, .18); }
.killa-presentation-card__quantity { color: #bd6128; font-size: .6rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.killa-presentation-card strong { max-width: calc(100% - 18px); font: 650 1.1rem/1.05 var(--killa-font-display, serif); }
.woocommerce div.product .killa-presentation-card__price,
.woocommerce div.product .killa-presentation-card__price .price { color: #843014; font-size: .76rem; font-weight: 900; }
.killa-presentation-card.is-selected .killa-presentation-card__quantity,
.woocommerce div.product .killa-presentation-card.is-selected .killa-presentation-card__price,
.woocommerce div.product .killa-presentation-card.is-selected .killa-presentation-card__price .price { color: #ffd06c; }
.single-product.woocommerce div.product form.variations_form table.variations label { color: #4a2d1c; }
.single-product.woocommerce div.product form.variations_form .reset_variations { color: #7e2913; font-weight: 900; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.single-product.woocommerce div.product .woocommerce-variation-price .price { color: #8f3016; font-weight: 700; }

.killa-pack-builder {
  flex: 0 0 100%;
  width: 100%;
  margin: 22px 0 26px;
  padding: 24px;
  border: 1px solid rgba(247, 189, 79, .28);
  border-radius: 3px 26px 3px 3px;
  background: linear-gradient(145deg, rgba(79, 34, 13, .95), rgba(31, 13, 7, .98));
  box-shadow: inset 0 1px rgba(255, 231, 184, .08), 0 22px 55px rgba(0, 0, 0, .22);
}
.killa-pack-builder__heading { display: flex; gap: 18px; align-items: center; justify-content: space-between; }
.killa-pack-builder__heading span { color: #dd7d36; font-size: .62rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.killa-pack-builder__heading h3 { margin: 4px 0 0; color: #fff4d7; font: 560 2rem/1 var(--killa-font-display, serif); }
.killa-pack-builder__heading > strong { display: flex; min-width: 70px; height: 70px; gap: 3px; align-items: center; justify-content: center; border: 1px solid rgba(247, 189, 79, .4); border-radius: 50%; color: #f7bd4f; font: 800 1.05rem var(--killa-font-body, sans-serif); }
.killa-pack-builder__heading > strong span { color: inherit; font: inherit; letter-spacing: 0; }
.killa-pack-builder__intro { margin: 15px 0 16px; color: rgba(255, 244, 215, .62); font-size: .82rem; line-height: 1.55; }
.killa-pack-builder__progress { height: 5px; overflow: hidden; border-radius: 99px; background: rgba(255, 255, 255, .09); }
.killa-pack-builder__progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #df7426, #f7bd4f); transition: width .25s ease; }
.killa-pack-builder__grid { display: grid; margin-top: 19px; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.killa-pack-choice { min-width: 0; padding: 12px 8px 10px; border: 1px solid rgba(255, 225, 166, .13); border-radius: 3px 15px 3px 3px; background: rgba(19, 8, 5, .44); text-align: center; transition: border-color .2s, transform .2s; }
.killa-pack-choice:focus-within { border-color: rgba(247, 189, 79, .65); transform: translateY(-2px); }
.killa-pack-choice img { width: 100%; height: 112px; object-fit: contain; filter: brightness(1.18) saturate(1.08) drop-shadow(0 10px 10px rgba(0, 0, 0, .38)); }
.killa-pack-choice h4 { min-height: 29px; margin: 8px 0 9px; color: #fff4d7; font: 700 .64rem/1.25 var(--killa-font-body, sans-serif); }
.killa-pack-choice__quantity { display: grid; grid-template-columns: 28px minmax(26px, 1fr) 28px; align-items: center; }
.killa-pack-choice__quantity button { display: grid; width: 28px; height: 28px; padding: 0; place-items: center; border: 1px solid rgba(247, 189, 79, .36); border-radius: 50%; color: #f7bd4f; background: transparent; font: 800 1rem/1 sans-serif; cursor: pointer; }
.killa-pack-choice__quantity button:disabled { opacity: .3; cursor: not-allowed; }
.killa-pack-choice__quantity input { width: 100%; height: 30px; padding: 0; border: 0; color: #fff4d7; background: transparent; font: 900 .9rem var(--killa-font-body, sans-serif); text-align: center; appearance: textfield; }
.killa-pack-choice__quantity input::-webkit-outer-spin-button,
.killa-pack-choice__quantity input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.killa-pack-builder__status { margin: 17px 0 0; color: rgba(255, 244, 215, .66); font-size: .76rem; font-weight: 700; text-align: center; }
.killa-pack-builder.is-complete { border-color: rgba(247, 189, 79, .58); }
.killa-pack-builder.is-complete .killa-pack-builder__status { color: #f7bd4f; }

@media (max-width: 720px) {
  .killa-presentation-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .killa-presentation-card { min-height: 102px; padding: 15px 13px 13px; }
  .killa-pack-builder { padding: 20px 16px; }
  .killa-pack-builder__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .killa-pack-choice:last-child { grid-column: 1 / -1; width: calc(50% - 5px); justify-self: center; }
  .killa-pack-choice img { height: 132px; }
}

/* Contraste de precios en las tarjetas de presentacion. */
.single-product.woocommerce div.product .killa-presentation-card:not(.is-selected) .killa-presentation-card__price,
.single-product.woocommerce div.product .killa-presentation-card:not(.is-selected) .killa-presentation-card__price .price,
.single-product.woocommerce div.product .killa-presentation-card:not(.is-selected) .killa-presentation-card__price .amount {
  color: #6f250f !important;
  opacity: 1 !important;
}

.single-product.woocommerce div.product .killa-presentation-card.is-selected .killa-presentation-card__price,
.single-product.woocommerce div.product .killa-presentation-card.is-selected .killa-presentation-card__price .price,
.single-product.woocommerce div.product .killa-presentation-card.is-selected .killa-presentation-card__price .amount {
  color: #ffd06c !important;
  opacity: 1 !important;
}
