/* JV WooCommerce Enhancer 1.0.0 — intentionally scoped. */
.jv-woo-native-qty{display:inline-flex;align-items:center;vertical-align:middle;margin:6px 0 0 0;border:1px solid #d8e1e5;border-radius:18px;overflow:hidden;background:#fff}
.jv-woo-native-qty .jv-woo-qty-btn{width:30px;height:32px;border:0;background:#fff;color:#77888f;font-size:20px;line-height:32px;padding:0;cursor:pointer}
.jv-woo-native-qty .jv-woo-qty-btn:hover{background:#f5f7f8;color:#111}
.jv-woo-native-qty .jv-woo-qty-input{width:38px;height:32px;border:0;border-left:1px solid #e7edef;border-right:1px solid #e7edef;text-align:center;background:#fff;box-shadow:none;padding:0;-moz-appearance:textfield}
.jv-woo-native-qty .jv-woo-qty-input::-webkit-outer-spin-button,.jv-woo-native-qty .jv-woo-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.jv-woo-native-qty.is-loading{opacity:.55;pointer-events:none}
.jv-woo-native-edit{margin:6px 8px 0 8px;padding:6px 12px;border:0;border-radius:16px;background:#000;color:#fff;font-size:12px;line-height:1;cursor:pointer;vertical-align:middle}
.jv-woo-native-edit:hover{background:#222;color:#fff}
.jv-orderable-cart-thumb{width:58px;height:58px;flex:0 0 58px;margin-right:10px;border-radius:8px;overflow:hidden;background:#fafafa;display:flex;align-items:center;justify-content:center}
.jv-orderable-cart-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.jv-orderable-view-cart{display:block!important;width:100%!important;margin-top:10px!important;padding:12px 14px!important;border:1px solid #000!important;border-radius:24px!important;background:#fff!important;color:#000!important;text-align:center!important;font-weight:600!important;font-size:14px!important;line-height:1.2!important;text-decoration:none!important;box-sizing:border-box!important}
.jv-orderable-view-cart:hover{background:#000!important;color:#fff!important}
/* 1.0.25: en el carrito de Orderable, VER CARRITO y FINALIZAR COMPRA
   deben compartir la misma fila visible al pie del panel. */
.orderable-drawer .jv-orderable-bottom-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:stretch!important;
  align-self:stretch!important;
  flex:0 0 100%!important;
  gap:10px!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin:12px 0 0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.orderable-drawer .jv-orderable-bottom-actions + *{
  max-width:100%!important;
}
.orderable-drawer .jv-orderable-bottom-actions{
  justify-self:stretch!important;
}
.orderable-drawer .jv-orderable-bottom-actions > a,
.orderable-drawer .jv-orderable-bottom-actions > button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 14px!important;
  box-sizing:border-box!important;
  border-radius:24px!important;
  text-align:center!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:600!important;
  white-space:normal!important;
  overflow:visible!important;
  text-decoration:none!important;
}
.orderable-drawer .jv-orderable-bottom-actions .jv-orderable-view-cart{
  border:1px solid #000!important;
  background:#fff!important;
  color:#000!important;
}
.orderable-drawer .jv-orderable-bottom-actions .jv-orderable-view-cart:hover{
  background:#000!important;
  color:#fff!important;
}
.orderable-drawer .jv-orderable-bottom-actions a[href*="checkout"],
.orderable-drawer .jv-orderable-bottom-actions a[class*="checkout"],
.orderable-drawer .jv-orderable-bottom-actions button[class*="checkout"]{
  background:#000!important;
  color:#fff!important;
  border:1px solid #000!important;
}
@media(max-width:768px){
  .orderable-drawer .jv-orderable-bottom-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;}
  .orderable-drawer .jv-orderable-bottom-actions > a,
  .orderable-drawer .jv-orderable-bottom-actions > button{font-size:13px!important;min-height:46px!important;padding:0 10px!important;}
}
@media(max-width:768px){.jv-woo-native-edit{padding:6px 10px}.jv-woo-native-qty .jv-woo-qty-input{width:34px}.jv-orderable-cart-thumb{width:50px;height:50px;flex-basis:50px}}


/* Catálogo: las paletas JV deben ser círculos compactos y no heredar el estilo
   de botones de Kadence/WooCommerce. */
.jv-wc-archive-meta{display:block;width:100%;box-sizing:border-box;margin-top:10px;}
.jv-wc-color-count{display:block;margin:0 0 8px;font-size:var(--jv-woo-color_count_size,13px);line-height:1.35;}
.jv-wc-swatches-archive{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;width:100%;}
.jv-wc-swatches-archive .jv-wc-swatch,
.jv-wc-swatches-product .jv-wc-swatch{
  appearance:none!important;-webkit-appearance:none!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 0 var(--jv-woo-swatch_size_px,30px)!important;
  width:var(--jv-woo-swatch_size_px,30px)!important;
  min-width:var(--jv-woo-swatch_size_px,30px)!important;
  max-width:var(--jv-woo-swatch_size_px,30px)!important;
  height:var(--jv-woo-swatch_size_px,30px)!important;
  min-height:var(--jv-woo-swatch_size_px,30px)!important;
  max-height:var(--jv-woo-swatch_size_px,30px)!important;
  padding:0!important;margin:0!important;
  border:2px solid #fff!important;
  border-radius:50%!important;
  outline:1px solid #d5dadd;
  box-shadow:0 0 0 0 transparent;
  background:var(--jv-swatch-bg,#ddd)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  color:transparent!important;
  line-height:0!important;
  font-size:0!important;
  overflow:visible!important;
  position:relative!important;
  cursor:pointer!important;
}
.jv-wc-swatches-archive .jv-wc-swatch:hover,
.jv-wc-swatches-product .jv-wc-swatch:hover,
.jv-wc-swatches-archive .jv-wc-swatch:focus-visible,
.jv-wc-swatches-product .jv-wc-swatch:focus-visible{
  transform:scale(1.06);
  outline:2px solid #111;
  outline-offset:2px;
}
.jv-wc-swatch .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.jv-wc-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);display:none;white-space:nowrap;padding:6px 9px;border-radius:4px;background:#222;color:#fff;font-size:12px;line-height:1.2;z-index:50;pointer-events:none;}
.jv-wc-swatch:hover .jv-wc-tooltip,.jv-wc-swatch:focus-visible .jv-wc-tooltip{display:block;}
.jv-wc-swatches-archive .jv-wc-swatch--tres-oros{background:linear-gradient(90deg,#d4a72c 0 33.33%,#c7c7c7 33.33% 66.66%,#dca0a0 66.66% 100%)!important;background-image:linear-gradient(90deg,#d4a72c 0 33.33%,#c7c7c7 33.33% 66.66%,#dca0a0 66.66% 100%)!important;}

/* 1.0.8: catálogo — paletas JV compactas y circulares. */
.jv-wc-archive-meta{display:block;width:100%;box-sizing:border-box;margin-top:10px;}
.jv-wc-color-count{display:block;margin:0 0 8px;font-size:var(--jv-woo-color_count_size,13px);line-height:1.35;}
.jv-wc-swatches-archive{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;width:100%;}
.jv-wc-swatches-archive .jv-wc-swatch,
.jv-wc-swatches-product .jv-wc-swatch{
  appearance:none!important;-webkit-appearance:none!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 0 var(--jv-woo-swatch_size_px,30px)!important;
  width:var(--jv-woo-swatch_size_px,30px)!important;
  min-width:var(--jv-woo-swatch_size_px,30px)!important;
  max-width:var(--jv-woo-swatch_size_px,30px)!important;
  height:var(--jv-woo-swatch_size_px,30px)!important;
  min-height:var(--jv-woo-swatch_size_px,30px)!important;
  max-height:var(--jv-woo-swatch_size_px,30px)!important;
  padding:0!important;margin:0!important;
  border:2px solid #fff!important;
  border-radius:50%!important;
  outline:1px solid #d5dadd;
  box-shadow:0 0 0 0 transparent;
  background:var(--jv-swatch-bg,#ddd)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  color:transparent!important;
  line-height:0!important;
  font-size:0!important;
  overflow:visible!important;
  position:relative!important;
  cursor:pointer!important;
}
.jv-wc-swatches-archive .jv-wc-swatch:hover,
.jv-wc-swatches-product .jv-wc-swatch:hover,
.jv-wc-swatches-archive .jv-wc-swatch:focus-visible,
.jv-wc-swatches-product .jv-wc-swatch:focus-visible{
  transform:scale(1.06);
  outline:2px solid #111;
  outline-offset:2px;
}
.jv-wc-swatch .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.jv-wc-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);display:none;white-space:nowrap;padding:6px 9px;border-radius:4px;background:#222;color:#fff;font-size:12px;line-height:1.2;z-index:50;pointer-events:none;}
.jv-wc-swatch:hover .jv-wc-tooltip,.jv-wc-swatch:focus-visible .jv-wc-tooltip{display:block;}
.jv-wc-swatches-archive .jv-wc-swatch--tres-oros{background:linear-gradient(90deg,#d4a72c 0 33.33%,#c7c7c7 33.33% 66.66%,#dca0a0 66.66% 100%)!important;background-image:linear-gradient(90deg,#d4a72c 0 33.33%,#c7c7c7 33.33% 66.66%,#dca0a0 66.66% 100%)!important;}


/* 1.0.11: panel de compra rapida y boton Pagar. */
.jv-wc-quick-pay{margin:8px 0 0;padding:12px 20px;border:0;border-radius:24px;background:#000;color:#fff;font-size:14px;line-height:1.2;font-weight:600;cursor:pointer;display:block;width:100%;text-align:center}
.jv-wc-quick-pay:hover{background:#222;color:#fff}
.jv-wc-quick-pay.loading{opacity:.6;pointer-events:none}
.jv-wc-quick-product form.cart .jv-wc-quick-pay{margin-top:10px}
.jv-wc-quick-view-button{cursor:pointer}


/* 1.0.16: selector de opciones desde el catálogo — panel lateral robusto. */
.jv-wc-quick-view{position:fixed;inset:0;z-index:999999;display:none;visibility:hidden;opacity:0;}
.jv-wc-quick-view.is-open{display:block;visibility:visible;opacity:1;}
.jv-wc-quick-view__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);}
.jv-wc-quick-view__panel{position:absolute;top:0;right:0;width:min(560px,92vw);height:100%;background:#fff;overflow:auto;box-shadow:-10px 0 30px rgba(0,0,0,.18);padding:28px;box-sizing:border-box;}
.jv-wc-quick-view__close{position:absolute;top:18px;left:18px;width:46px;height:46px;border:1px solid #d8e1e5;border-radius:50%;background:#fff;color:#9aa7ad;font-size:34px;line-height:40px;padding:0;cursor:pointer;z-index:3;}
.jv-wc-quick-view__close:hover{background:#f6f7f8;color:#111;}
.jv-wc-quick-view__content{padding-top:12px;}
.jv-wc-quick-product{display:grid;grid-template-columns:1fr;gap:18px;min-height:0;}
.jv-wc-quick-product__gallery{position:relative;}
.jv-wc-quick-product__main-image{display:flex;align-items:center;justify-content:center;min-height:280px;padding-top:20px;}
.jv-wc-quick-product__main-image img{display:block;width:100%;max-height:360px;object-fit:contain;}
.jv-wc-quick-product__details h2{margin:0 0 14px;font-size:var(--jv-woo-heading_size,24px);font-weight:400;line-height:1.15;}
.jv-wc-quick-product__price{font-size:20px;margin-bottom:24px;}
.jv-wc-quick-product .variations{width:100%;border:0;}
.jv-wc-quick-product .variations td,.jv-wc-quick-product .variations th{border:0;padding:8px 0;vertical-align:middle;}
.jv-wc-quick-product .variations .label{width:110px;text-align:left;}
.jv-wc-quick-product .variable-items-wrapper{margin:0!important;padding:0!important;}
.jv-wc-quick-product .single_variation{margin:14px 0;}
.jv-wc-quick-product .variations_form .variations_button{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.jv-wc-quick-product .quantity{margin:0!important;}
.jv-wc-quick-product .single_add_to_cart_button,
.jv-wc-quick-product .jv-wc-quick-pay{flex:1 1 0;min-width:140px;width:auto!important;margin:0!important;}
.jv-wc-quick-product .single_add_to_cart_button{padding:13px 16px!important;border:0!important;border-radius:24px!important;background:#000!important;color:#fff!important;font-size:14px!important;font-weight:600!important;line-height:1.2!important;}
.jv-wc-quick-product .jv-wc-quick-pay{padding:13px 16px!important;border-radius:24px!important;}
.jv-wc-quick-product__full-link{margin-top:18px;}
.jv-wc-quick-product__full-link a{text-decoration:underline;}
.jv-wc-quick-view__loading{text-align:center;padding:80px 20px;font-size:16px;}
body.jv-wc-quick-view-open{overflow:hidden;}
@media(max-width:768px){
  .jv-wc-quick-view__panel{width:100%;padding:22px 18px;}
  .jv-wc-quick-product__main-image{height:190px;min-height:190px;margin-bottom:14px;}
  .jv-wc-quick-product__main-image img{max-height:190px;}
  .jv-wc-quick-product .variations_form .variations_button{flex-wrap:wrap!important;}
  .jv-wc-quick-product .single_add_to_cart_button,.jv-wc-quick-product .jv-wc-quick-pay{flex:1 1 calc(50% - 5px)!important;}
  .jv-wc-quick-product .jv-wc-quick-qty-control{order:0!important;}
}


/* 1.0.17: ajuste visual fino basado en la tarjeta de referencia.
   No cambia la lógica de variaciones; solo corrige el layout que algunos estilos
   de WooCommerce/Kadence estaban apilando verticalmente. */
.jv-wc-quick-view__panel{
  width:min(640px,92vw)!important;
  padding:28px 36px 30px!important;
}
.jv-wc-quick-view__content{padding-top:6px!important;}
.jv-wc-quick-product{display:block!important;gap:0!important;min-height:0!important;}
.jv-wc-quick-product__gallery{margin:0 0 8px!important;padding:0!important;}
.jv-wc-quick-product__main-image{
  min-height:180px!important;
  height:220px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.jv-wc-quick-product__main-image img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:220px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto!important;
}
.jv-wc-quick-product__details{margin:0!important;padding:0!important;}
.jv-wc-quick-product__details h2{
  margin:0 0 8px!important;
  font-size:24px!important;
  line-height:1.16!important;
  font-weight:400!important;
}
.jv-wc-quick-product__price{
  margin:0 0 16px!important;
  font-size:20px!important;
  line-height:1.2!important;
}
.jv-wc-quick-product .variations{
  margin:0!important;
  padding:0!important;
}
.jv-wc-quick-product .variations tr{margin:0!important;padding:0!important;}
.jv-wc-quick-product .variations td,
.jv-wc-quick-product .variations th{
  padding:4px 0!important;
  margin:0!important;
  border:0!important;
}
.jv-wc-quick-product .variations .label{
  width:auto!important;
  display:block!important;
  margin:0 0 5px!important;
  padding:0!important;
  font-size:16px!important;
}
.jv-wc-quick-product .variable-items-wrapper{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}
.jv-wc-quick-product .variable-item{
  margin:0!important;
}
.jv-wc-quick-product .single_variation{margin:8px 0!important;padding:0!important;}
.jv-wc-quick-product .variations_form .variations_button{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  margin:12px 0 0!important;
  padding:0!important;
}
.jv-wc-quick-product .variations_form .quantity{
  display:flex!important;
  align-items:center!important;
  justify-content:stretch!important;
  flex:0 0 124px!important;
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  height:48px!important;
  margin:0!important;
  padding:0!important;
}
.jv-wc-quick-product .jv-wc-quick-qty-control{
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  height:48px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d8e1e5!important;
  border-radius:4px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.jv-wc-quick-product .jv-wc-quick-qty-control .jv-wc-qty-btn{
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:#fff!important;
  color:#333!important;
  font-size:19px!important;
  line-height:46px!important;
  text-align:center!important;
  cursor:pointer!important;
}
.jv-wc-quick-product .jv-wc-quick-qty-control .jv-wc-qty-input{
  flex:1 1 auto!important;
  width:46px!important;
  min-width:46px!important;
  max-width:none!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid #e7edef!important;
  border-right:1px solid #e7edef!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  text-align:center!important;
  font-size:18px!important;
  line-height:46px!important;
  -moz-appearance:textfield!important;
}
.jv-wc-quick-product .jv-wc-quick-qty-control .jv-wc-qty-input::-webkit-outer-spin-button,
.jv-wc-quick-product .jv-wc-quick-qty-control .jv-wc-qty-input::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}
.jv-wc-quick-product .single_add_to_cart_button,
.jv-wc-quick-product .jv-wc-quick-pay{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  margin:0!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:24px!important;
  box-sizing:border-box!important;
  font-size:14px!important;
  line-height:48px!important;
  text-align:center!important;
}
.jv-wc-quick-product .single_add_to_cart_button{
  background:#8a8a8a!important;
  color:#fff!important;
}
.jv-wc-quick-product .single_add_to_cart_button:hover{
  background:#777!important;
  color:#fff!important;
}
.jv-wc-quick-product .jv-wc-quick-pay{
  background:#000!important;
  color:#fff!important;
}
.jv-wc-quick-product .jv-wc-quick-pay:hover{
  background:#222!important;
  color:#fff!important;
}
.jv-wc-quick-product__full-link{
  margin:16px 0 0!important;
  padding:0!important;
}

/* Compactar el editor de producto de Orderable sin tocar su funcionalidad. */
.orderable-drawer .orderable-product{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}
.orderable-drawer .orderable-product__image,
.orderable-drawer .orderable-product__image-wrap{
  margin:0 auto 12px!important;
  padding:0!important;
  min-height:0!important;
}
.orderable-drawer .orderable-product__image img,
.orderable-drawer .orderable-product__image-wrap img{
  max-height:260px!important;
  object-fit:contain!important;
}
.orderable-drawer .orderable-product__options-wrap,
.orderable-drawer .orderable-product__options,
.orderable-drawer .orderable-product__actions{
  margin-top:8px!important;
  margin-bottom:0!important;
}
.orderable-drawer .orderable-product__options table,
.orderable-drawer .orderable-product__options-wrap table{
  margin:0!important;
}
.orderable-drawer .orderable-product__options td,
.orderable-drawer .orderable-product__options th,
.orderable-drawer .orderable-product__options-wrap td,
.orderable-drawer .orderable-product__options-wrap th{
  padding-top:4px!important;
  padding-bottom:4px!important;
}
.orderable-drawer .orderable-product__actions .quantity,
.orderable-drawer .orderable-product__actions .orderable-product__quantity{
  display:flex!important;
  align-items:center!important;
  flex-direction:row!important;
  margin:0!important;
}
.orderable-drawer input[type=number]{
  -moz-appearance:textfield!important;
}
.orderable-drawer input[type=number]::-webkit-outer-spin-button,
.orderable-drawer input[type=number]::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}
.orderable-drawer .orderable-product__actions{
  padding-bottom:4px!important;
}

@media(max-width:768px){
  .jv-wc-quick-view__panel{width:100%!important;padding:22px 18px 24px!important;}
  .jv-wc-quick-product__main-image{height:180px!important;min-height:160px!important;}
  .jv-wc-quick-product__main-image img{max-height:180px!important;}
  .jv-wc-quick-product .variations_form .variations_button{gap:8px!important;}
  .jv-wc-quick-product .variations_form .quantity{flex:0 0 110px!important;width:110px!important;min-width:110px!important;max-width:110px!important;}
  .jv-wc-quick-product .jv-wc-quick-qty-control{width:110px!important;min-width:110px!important;max-width:110px!important;}
  .jv-wc-quick-product .jv-wc-quick-qty-control .jv-wc-qty-btn{flex-basis:33px!important;width:33px!important;min-width:33px!important;}
  .jv-wc-quick-product .single_add_to_cart_button,
  .jv-wc-quick-product .jv-wc-quick-pay{font-size:13px!important;padding:0 10px!important;}
}


/* 1.0.18: carrito JV superior — apariencia compacta y coherente con el mini-carrito de Orderable. */
.jv-wc-quick-cart-heading{
  margin:0!important;
  padding:14px 0 12px!important;
  border-bottom:1px solid #e7edef!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
  text-align:center!important;
}
.jv-wc-quick-cart{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  background:#fff!important;
}
.jv-wc-quick-cart__items{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.jv-wc-quick-cart__item{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:14px 0!important;
  border-bottom:1px solid #e7edef!important;
  box-sizing:border-box!important;
}
.jv-wc-quick-cart__thumb{
  flex:0 0 64px!important;
  width:64px!important;
  height:64px!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fafafa!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
}
.jv-wc-quick-cart__thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  margin:0!important;
}
.jv-wc-quick-cart__info{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.jv-wc-quick-cart__product-link{
  display:block!important;
  margin:0 0 5px!important;
  padding:0!important;
  color:#111!important;
  text-decoration:none!important;
  line-height:1.25!important;
}
.jv-wc-quick-cart__product-link strong{font-weight:600!important;}
.jv-wc-quick-cart__variation{
  margin:0 0 8px!important;
  padding:0!important;
  color:#333!important;
  font-size:14px!important;
  line-height:1.3!important;
}
.jv-wc-quick-cart__line{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.jv-wc-quick-cart__qty{
  display:inline-flex!important;
  flex:0 0 124px!important;
  width:124px!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d8e1e5!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.jv-wc-quick-cart__qty .jv-wc-qty-btn{
  flex:0 0 34px!important;
  width:34px!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#fff!important;
  color:#8aa0aa!important;
  font-size:18px!important;
  line-height:38px!important;
  cursor:pointer!important;
}
.jv-wc-quick-cart__qty .jv-wc-qty-btn:hover{background:#f5f7f8!important;color:#111!important;}
.jv-wc-quick-cart__qty .jv-wc-qty-input{
  flex:1 1 auto!important;
  width:56px!important;
  min-width:0!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid #e7edef!important;
  border-right:1px solid #e7edef!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  text-align:center!important;
  font-size:16px!important;
  line-height:38px!important;
  -moz-appearance:textfield!important;
}
.jv-wc-quick-cart__qty .jv-wc-qty-input::-webkit-outer-spin-button,
.jv-wc-quick-cart__qty .jv-wc-qty-input::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}
.jv-wc-quick-cart__unit-price{
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  font-size:16px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
.jv-wc-quick-cart__unit-price .woocommerce-Price-amount{font-weight:500!important;}
.jv-wc-quick-cart__remove{
  flex:0 0 auto!important;
  margin-left:auto!important;
  padding:0 2px!important;
  color:#cbd7dc!important;
  font-size:24px!important;
  line-height:1!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.jv-wc-quick-cart__remove:hover{color:#111!important;}
.jv-wc-quick-cart__subtotal{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  margin:18px 0 12px!important;
  padding:0!important;
  font-size:17px!important;
  line-height:1.25!important;
}
.jv-wc-quick-cart__subtotal strong{font-weight:600!important;}
.jv-wc-quick-cart__actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:0 0 2px!important;
}
.jv-wc-quick-cart__checkout,
.jv-wc-quick-cart__view-cart{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 14px!important;
  border-radius:24px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease!important;
}
.jv-wc-quick-cart__checkout{
  border:1px solid #000!important;
  background:#000!important;
  color:#fff!important;
}
.jv-wc-quick-cart__checkout:hover{background:#222!important;color:#fff!important;}
.jv-wc-quick-cart__view-cart{
  border:1px solid #000!important;
  background:#fff!important;
  color:#000!important;
}
.jv-wc-quick-cart__view-cart:hover{background:#000!important;color:#fff!important;}
@media(max-width:768px){
  .jv-wc-quick-cart__item{gap:10px!important;padding:12px 0!important;}
  .jv-wc-quick-cart__thumb{width:56px!important;height:56px!important;flex-basis:56px!important;}
  .jv-wc-quick-cart__qty{flex-basis:112px!important;width:112px!important;height:38px!important;}
  .jv-wc-quick-cart__qty .jv-wc-qty-btn{flex-basis:30px!important;width:30px!important;height:36px!important;line-height:36px!important;}
  .jv-wc-quick-cart__qty .jv-wc-qty-input{height:36px!important;line-height:36px!important;font-size:15px!important;}
  .jv-wc-quick-cart__line{gap:8px!important;}
  .jv-wc-quick-cart__unit-price{font-size:15px!important;}
  .jv-wc-quick-cart__actions{grid-template-columns:1fr!important;gap:8px!important;}
}

/* ================================================================
   JV 1.0.23 — permanent independent header actions
   These controls are NOT tied to cart visibility, fragments, Instagram,
   Orderable, product pages, or the WooCommerce archive.
   ================================================================ */
.site-header { position: relative; }
.jv-site-header-actions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0;
  padding: 0;
  line-height: 1;
  z-index: 9999;
}
.jv-site-header-actions--fallback {
  position: fixed;
  top: 18px;
  right: 22px;
  display: none;
}
.jv-site-header-actions .jv-site-header-instagram,
.jv-site-header-actions .jv-site-header-cart {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 34px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.jv-site-header-actions .jv-site-header-instagram:hover,
.jv-site-header-actions .jv-site-header-cart:hover,
.jv-site-header-actions .jv-site-header-instagram:focus-visible,
.jv-site-header-actions .jv-site-header-cart:focus-visible {
  opacity: .72 !important;
  color: inherit !important;
}
.jv-site-header-actions .jv-site-header-instagram svg,
.jv-site-header-actions .jv-site-header-cart svg {
  display: block;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}
.jv-site-header-actions .jv-site-header-cart__badge {
  position: absolute;
  top: -4px;
  right: -7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: #dc2f2f;
  color: #fff;
  font: 600 10px/17px Arial, sans-serif;
  box-sizing: border-box;
  pointer-events: none;
}

/* When JS promotes the server-rendered group into Kadence's right section,
   it becomes a normal flex child rather than an overlay. */
.site-header-section-right-inner .jv-site-header-actions,
.site-header-section-right .jv-site-header-actions,
.site-header-item-right .jv-site-header-actions {
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
}

@media (max-width: 1024px) {
  .jv-site-header-actions { gap: 12px; }
  .jv-site-header-actions .jv-site-header-instagram,
  .jv-site-header-actions .jv-site-header-cart { width: 26px; height: 32px; }
  .jv-site-header-actions .jv-site-header-instagram svg,
  .jv-site-header-actions .jv-site-header-cart svg { width: 21px; height: 21px; }
}

/* 1.0.24: Kadence native header cart is suppressed so the JV/Orderable cart
   remains the only upper cart icon. Instagram remains independent. */
header .jv-hide-native-header-cart{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* JV 1.0.27 — el pie del carrito ocupa todo el ancho del panel incluso
   después de cerrar y volver a abrir Orderable. */
.orderable-drawer .jv-orderable-bottom-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin:16px 0 0!important;
  padding:12px 0 0!important;
  box-sizing:border-box!important;
  position:sticky!important;
  bottom:0!important;
  z-index:20!important;
  background:#fff!important;
}
.orderable-drawer .jv-orderable-bottom-actions > a,
.orderable-drawer .jv-orderable-bottom-actions > button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:56px!important;
  margin:0!important;
  padding:0 18px!important;
  box-sizing:border-box!important;
  border-radius:28px!important;
  text-align:center!important;
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:600!important;
  white-space:normal!important;
  overflow:visible!important;
  text-decoration:none!important;
}
.orderable-drawer .jv-orderable-bottom-actions .jv-orderable-view-cart{
  border:1px solid #000!important;
  background:#fff!important;
  color:#000!important;
}
.orderable-drawer .jv-orderable-bottom-actions .jv-orderable-view-cart:hover{
  background:#000!important;
  color:#fff!important;
}
.orderable-drawer .jv-orderable-bottom-actions a[href*="checkout"],
.orderable-drawer .jv-orderable-bottom-actions a[class*="checkout"],
.orderable-drawer .jv-orderable-bottom-actions button[class*="checkout"]{
  background:#000!important;
  color:#fff!important;
  border:1px solid #000!important;
}
@media(max-width:768px){
  .orderable-drawer .jv-orderable-bottom-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;}
  .orderable-drawer .jv-orderable-bottom-actions > a,
  .orderable-drawer .jv-orderable-bottom-actions > button{font-size:13px!important;min-height:50px!important;padding:0 10px!important;}
}


/* JV 1.0.36 — subtotal anclado dentro del mismo footer visible que los botones. */
.orderable-drawer .jv-orderable-bottom-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:10px!important;
}
.orderable-drawer .jv-orderable-cart-subtotal{
  grid-column:1 / -1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  min-width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:10px 0 12px!important;
  border-top:1px solid #e7edef!important;
  border-bottom:1px solid #e7edef!important;
  font-size:18px!important;
  line-height:1.25!important;
  color:#222!important;
  order:-1!important;
}
.orderable-drawer .jv-orderable-cart-subtotal__label{font-weight:600!important;}
.orderable-drawer .jv-orderable-cart-subtotal__value{font-weight:600!important;}
@media(max-width:768px){
  .orderable-drawer .jv-orderable-bottom-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;}
  .orderable-drawer .jv-orderable-cart-subtotal{font-size:17px!important;padding:9px 0 11px!important;}
}


/* 1.0.39: mobile product purchase order. Keep desktop untouched.
   The swatches are rendered after the price; on mobile the purchase form stays
   immediately after them, while the short description moves below the form. */
@media (max-width: 767px){
  .single-product div.product .summary.entry-summary{
    display:flex!important;
    flex-direction:column!important;
  }
  .single-product div.product .summary.entry-summary > .product_title{order:10;}
  .single-product div.product .summary.entry-summary > .woocommerce-product-rating{order:20;}
  .single-product div.product .summary.entry-summary > .price{order:30;}
  .single-product div.product .summary.entry-summary > .jv-wc-swatches-product{order:40;}
  .single-product div.product .summary.entry-summary > form.cart{order:50;}
  /* Kadence Extras was previously left without an order, so flex layout
     placed it before the title on mobile. Keep it immediately after Add to Cart. */
  .single-product div.product .summary.entry-summary > .single-product-extras{order:55;}
  .single-product div.product .summary.entry-summary > .woocommerce-product-details__short-description{order:60;}
}
