:root{--dgs-vv-mobile-cols:2;--dgs-vv-tablet-cols:3;--dgs-vv-desktop-cols:4;--dgs-vv-bar-h:0px;--dgs-vv-vv-bottom:0px}
body.single-product.dgs-vv-has-bar{padding-bottom:var(--dgs-vv-bar-h)}
.dgs-vv-wrap{clear:both;width:100%;margin:10px 0 18px;box-sizing:border-box}
.dgs-vv-heading{display:flex;align-items:center;gap:10px;margin:18px 0 12px;color:#172440;font-weight:800;font-size:20px;line-height:1.25}
.dgs-vv-heading .dgs-vv-step{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:linear-gradient(135deg,#2d57e8,#5730dc);color:#fff;font-size:16px}
.dgs-vv-filters{display:grid;gap:10px;margin:0 0 14px}.dgs-vv-filter-group{display:grid;gap:7px}.dgs-vv-filter-label{font-size:12px;font-weight:800;color:#344462}.dgs-vv-filter-options{display:flex;flex-wrap:wrap;gap:8px}
.dgs-vv-chip{appearance:none;border:1px solid #d6def2;border-radius:999px;background:#fff;color:#263751;padding:8px 12px;font:inherit;font-size:13px;font-weight:700;line-height:1.1;cursor:pointer;transition:.16s ease}.dgs-vv-chip:hover,.dgs-vv-chip:focus{border-color:#4d55eb;box-shadow:0 0 0 3px rgba(77,85,235,.10);outline:0}.dgs-vv-chip.is-active{border-color:#4a47df;background:#eef1ff;color:#2720b4}
.dgs-vv-grid{display:grid;grid-template-columns:repeat(var(--dgs-vv-mobile-cols),minmax(0,1fr));gap:12px}.dgs-vv-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid #dfe5f2;border-radius:14px;background:#fff;overflow:hidden;cursor:pointer;box-shadow:0 3px 14px rgba(26,48,94,.04);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dgs-vv-card:hover{border-color:#aab5ef;box-shadow:0 8px 24px rgba(35,57,111,.09)}.dgs-vv-card.is-selected{border:2px solid #4057eb;box-shadow:0 0 0 3px rgba(64,87,235,.08)}.dgs-vv-card.is-disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.15)}
.dgs-vv-media{position:relative;width:100%;aspect-ratio:16/9;background:#f5f7fc;overflow:hidden}.dgs-vv-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.dgs-vv-check{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:2px solid #b9c4dc;background:rgba(255,255,255,.94);color:transparent;font-size:15px;font-weight:900;z-index:2}.dgs-vv-card.is-selected .dgs-vv-check{border-color:#2462df;background:#2462df;color:#fff}.dgs-vv-stock{position:absolute;left:8px;top:8px;padding:5px 8px;border-radius:999px;background:#4f5b70;color:#fff;font-size:10px;font-weight:800;z-index:2}
.dgs-vv-info{display:grid;gap:4px;padding:10px 11px 12px;min-height:64px}.dgs-vv-name{color:#172440;font-size:14px;font-weight:800;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dgs-vv-price{color:#2357df;font-size:17px;font-weight:850;line-height:1.2}.dgs-vv-price del{font-size:12px;color:#7c879c;font-weight:500;margin-right:4px}.dgs-vv-price ins{text-decoration:none}.dgs-vv-native-hidden{display:none!important}.dgs-vv-empty{grid-column:1/-1;padding:12px;border:1px dashed #cbd5e9;border-radius:12px;background:#fafcff;color:#60708e;text-align:center;font-size:13px}
.dgs-vv-bar{position:fixed;z-index:99989;left:0;right:0;bottom:0;display:none;align-items:center;gap:16px;padding:12px max(18px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:rgba(255,255,255,.98);border-top:1px solid #dce3f1;box-shadow:0 -10px 30px rgba(20,38,82,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-sizing:border-box;transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);will-change:transform;contain:layout paint}.dgs-vv-bar.is-visible{display:flex}.dgs-vv-bar-inner{width:min(1380px,100%);margin:0 auto;display:grid;grid-template-columns:auto minmax(170px,1fr) auto minmax(260px,1.25fr);align-items:center;gap:14px}.dgs-vv-thumb{width:72px;aspect-ratio:16/9;border-radius:10px;object-fit:cover;background:#eef2f8}.dgs-vv-summary{min-width:0}.dgs-vv-summary small{display:block;color:#5a6886;font-size:11px}.dgs-vv-summary strong{display:block;color:#172440;font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dgs-vv-total{display:block;margin-top:3px;color:#1e54dd;font-size:22px!important;font-weight:900!important}.dgs-vv-qty-wrap{display:flex;align-items:center;gap:8px}.dgs-vv-qty-label{font-size:12px;font-weight:800;color:#53627e}.dgs-vv-qty{display:flex;align-items:center;border:1px solid #dce3ef;border-radius:10px;overflow:hidden;background:#fff}.dgs-vv-qty button{appearance:none;width:36px;height:38px;border:0;background:#fff;color:#31415f;font-size:20px;cursor:pointer}.dgs-vv-qty span{min-width:34px;text-align:center;font-weight:800;color:#1b2943}.dgs-vv-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dgs-vv-action{appearance:none;min-height:48px;border-radius:10px;padding:10px 14px;font:inherit;font-size:15px;font-weight:850;cursor:pointer;transition:.16s ease}.dgs-vv-add{border:1px solid #15a94a;background:#1bc65a;color:#fff}.dgs-vv-buy{border:1.5px solid #2862ed;background:#fff;color:#1553dc}.dgs-vv-action:disabled{opacity:.55;cursor:not-allowed}
.dgs-vv-toast{position:fixed;z-index:100050;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translate(-50%,16px);display:flex;align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:12px 16px;border-radius:12px;background:#128a43;color:#fff;font-size:14px;font-weight:800;box-shadow:0 10px 28px rgba(17,92,49,.25);opacity:0;pointer-events:none;transition:.2s ease}.dgs-vv-toast.is-visible{opacity:1;transform:translate(-50%,0)}.dgs-vv-toast-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#128a43;font-weight:950;flex:0 0 24px}
@media(min-width:768px){.dgs-vv-grid{grid-template-columns:repeat(var(--dgs-vv-tablet-cols),minmax(0,1fr))}}
@media(min-width:1100px){.dgs-vv-grid{grid-template-columns:repeat(var(--dgs-vv-desktop-cols),minmax(0,1fr))}.dgs-vv-name{font-size:15px}.dgs-vv-price{font-size:18px}}
@media(max-width:767px){.dgs-vv-grid{gap:9px}.dgs-vv-card{border-radius:12px}.dgs-vv-info{padding:8px 9px 10px;min-height:61px}.dgs-vv-name{font-size:12.5px}.dgs-vv-price{font-size:15px}.dgs-vv-heading{font-size:18px}.dgs-vv-bar{padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.dgs-vv-bar-inner{grid-template-columns:46px minmax(0,1fr) auto;grid-template-areas:"thumb summary qty" "actions actions actions";gap:6px 9px}.dgs-vv-thumb{grid-area:thumb;width:46px}.dgs-vv-summary{grid-area:summary}.dgs-vv-summary small{font-size:10px}.dgs-vv-summary strong{font-size:12px}.dgs-vv-summary .dgs-vv-total-label{display:none}.dgs-vv-total{font-size:17px!important;margin-top:1px}.dgs-vv-qty-wrap{grid-area:qty;display:flex!important;flex-direction:column;align-items:flex-end;gap:3px}.dgs-vv-qty-label{font-size:9.5px}.dgs-vv-qty{display:flex!important}.dgs-vv-qty button{width:32px;height:34px;font-size:18px}.dgs-vv-qty span{min-width:30px;font-size:13px}.dgs-vv-actions{grid-area:actions;grid-template-columns:1fr 1fr;gap:7px}.dgs-vv-action{min-height:42px;padding:7px 8px;font-size:12.5px}.dgs-vv-check{width:22px;height:22px;top:6px;right:6px}.dgs-vv-stock{font-size:9px;top:6px;left:6px}.dgs-vv-toast{bottom:calc(18px + env(safe-area-inset-bottom));font-size:13px}}
@media(max-width:340px){.dgs-vv-grid{grid-template-columns:1fr}.dgs-vv-bar-inner{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"thumb summary qty" "actions actions actions"}.dgs-vv-thumb{width:40px}.dgs-vv-action{font-size:11.5px;padding:6px}.dgs-vv-summary strong{font-size:11.5px}}

/* v1.0.2: confirmación en la misma sección y barra estable */
.dgs-vv-inline-status{display:none;align-items:center;gap:9px;margin:12px 0 0;padding:11px 13px;border-radius:12px;font-size:14px;font-weight:800;line-height:1.35}
.dgs-vv-inline-status.is-visible{display:flex}
.dgs-vv-inline-status.is-success{background:#ecfdf3;border:1px solid #a7e7bd;color:#13783c}
.dgs-vv-inline-status.is-error{background:#fff3f3;border:1px solid #f3b5b5;color:#a92323}
.dgs-vv-inline-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:950;flex:0 0 24px}
.dgs-vv-inline-status.is-success .dgs-vv-inline-icon{background:#16a34a;color:#fff}
.dgs-vv-inline-status.is-error .dgs-vv-inline-icon{background:#dc2626;color:#fff}
.dgs-vv-action:disabled{opacity:.68;cursor:wait}
.dgs-vv-bar.is-loading{pointer-events:none}
@media(max-width:767px){.dgs-vv-inline-status{font-size:13px;margin-top:9px;padding:10px 11px}}


/* v1.0.3: estabilidad iOS/Safari durante scroll */
html{-webkit-text-size-adjust:100%}
.dgs-vv-bar{touch-action:manipulation}
@supports (-webkit-touch-callout:none){
  .dgs-vv-bar{position:fixed;bottom:0;left:0;right:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
  body.single-product.dgs-vv-has-bar{padding-bottom:calc(var(--dgs-vv-bar-h) + env(safe-area-inset-bottom))}
}

/* v1.0.7: selector de cantidad visible en móvil */
.dgs-vv-qty-wrap[hidden]{display:none!important}
@media(max-width:767px){.dgs-vv-qty-wrap:not([hidden]){display:flex!important}.dgs-vv-summary{align-self:center}.dgs-vv-actions{margin-top:2px}}

/* v1.0.8: notas/temporales en barra fija + compatibilidad por producto */
.dgs-vv-extra{grid-column:1/-1;display:grid;gap:5px;min-width:0}
.dgs-vv-extra[hidden]{display:none!important}
.dgs-vv-extra-item{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:7px 9px;border-radius:9px;background:#f6f8ff;border:1px solid #e3e8f5;color:#42516e;font-size:11.5px;font-weight:700;line-height:1.28}
.dgs-vv-extra-item.is-time{background:#f7f2ff;border-color:#e4d8fb;color:#5f4792}
.dgs-vv-extra-icon{flex:0 0 auto;line-height:1.2}
@media(max-width:767px){
  .dgs-vv-extra{grid-area:extra;grid-column:1/-1}
  .dgs-vv-bar-inner{grid-template-areas:"thumb summary qty" "extra extra extra" "actions actions actions"}
  .dgs-vv-extra-item{padding:6px 8px;font-size:10.5px}
}

/* v1.0.12: compatibilidad con campos manuales dentro de table.variations. */
.dgs-vv-native-control-hidden,.dgs-vv-native-label-hidden{display:none!important}
table.variations.dgs-vv-native-has-extras{display:table!important;width:100%;margin:0 0 14px!important}
table.variations.dgs-vv-native-has-extras th:empty{display:none!important}
table.variations.dgs-vv-native-has-extras td{width:100%!important}
table.variations.dgs-vv-native-has-extras input:not([type=hidden]),table.variations.dgs-vv-native-has-extras textarea,table.variations.dgs-vv-native-has-extras select:not(.dgs-vv-native-control-hidden){max-width:100%}


/* v1.1.2: confirmación gamer HUD / glass. Solo capa visual, 4 s. */
.dgs-vv-success-popup{
  position:fixed;z-index:100080;left:50%;top:clamp(92px,18vh,190px);
  width:min(650px,calc(100vw - 34px));box-sizing:border-box;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;
  padding:16px 18px;border:1px solid rgba(88,105,255,.72);border-radius:18px;
  color:#fff;background:linear-gradient(115deg,rgba(7,20,48,.91),rgba(20,22,70,.89) 58%,rgba(36,15,78,.88));
  box-shadow:0 16px 44px rgba(25,39,101,.30),0 0 0 1px rgba(56,192,255,.16) inset,0 0 24px rgba(81,67,255,.23);
  -webkit-backdrop-filter:blur(16px) saturate(145%);backdrop-filter:blur(16px) saturate(145%);
  transform:translate(-50%,-12px) scale(.985);opacity:0;pointer-events:none;
  transition:opacity .22s ease,transform .24s cubic-bezier(.2,.8,.2,1),filter .22s ease;
  overflow:hidden;isolation:isolate
}
.dgs-vv-success-popup:before{
  content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;padding:1px;
  background:linear-gradient(90deg,#20c8ff,#4f68ff 46%,#9b42ff 82%,#ef4cff);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:.95
}
.dgs-vv-success-popup:after{
  content:"";position:absolute;left:-28%;top:-55%;width:45%;height:210%;z-index:-1;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.11),transparent);
  transform:skewX(-18deg);animation:dgsVvHudSweep .72s ease .12s 1 both;pointer-events:none
}
.dgs-vv-success-popup.is-visible{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:none}
.dgs-vv-success-popup.is-leaving{opacity:0;transform:translate(-50%,-8px) scale(.985);filter:blur(.4px)}
.dgs-vv-success-check{
  display:grid;place-items:center;width:52px;height:52px;border-radius:50%;flex:0 0 52px;
  color:#fff;background:radial-gradient(circle at 35% 30%,#38f18b,#10a857 72%);
  font-size:28px;font-weight:950;line-height:1;box-shadow:0 0 0 4px rgba(39,227,126,.12),0 0 22px rgba(35,224,121,.45)
}
.dgs-vv-success-copy{min-width:0;display:grid;gap:2px}.dgs-vv-success-copy strong{font-size:17px;line-height:1.18;font-weight:900;letter-spacing:.01em;color:#fff}.dgs-vv-success-name{font-size:13px;font-weight:760;color:#e8ecff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dgs-vv-success-price{font-size:15px;font-weight:900;color:#9fd0ff}
.dgs-vv-success-cart{
  pointer-events:auto;align-self:center;white-space:nowrap;text-decoration:none!important;border:1px solid rgba(111,115,255,.95);border-radius:11px;
  padding:10px 14px;color:#fff!important;background:linear-gradient(135deg,rgba(35,83,230,.78),rgba(102,50,230,.80));
  box-shadow:0 0 18px rgba(81,75,245,.23);font-size:13px;font-weight:850;transition:.16s ease
}
.dgs-vv-success-cart:hover,.dgs-vv-success-cart:focus{transform:translateY(-1px);box-shadow:0 0 24px rgba(81,75,245,.38);outline:0}
.dgs-vv-success-close{pointer-events:auto;position:absolute;right:8px;top:6px;width:30px;height:30px;border:0;background:transparent;color:#dce5ff;font-size:25px;line-height:1;cursor:pointer;opacity:.88}
.dgs-vv-success-close:hover{opacity:1}
@keyframes dgsVvHudSweep{from{left:-38%;opacity:0}35%{opacity:1}to{left:118%;opacity:0}}
@media(max-width:767px){
  .dgs-vv-success-popup{top:calc(98px + env(safe-area-inset-top));width:calc(100vw - 24px);grid-template-columns:auto minmax(0,1fr);gap:10px;padding:13px 14px 12px;border-radius:16px}
  .dgs-vv-success-check{width:44px;height:44px;flex-basis:44px;font-size:24px}
  .dgs-vv-success-copy{padding-right:22px}.dgs-vv-success-copy strong{font-size:15px}.dgs-vv-success-name{font-size:12px}.dgs-vv-success-price{font-size:13px}
  .dgs-vv-success-cart{grid-column:1/-1;justify-self:end;margin-top:2px;padding:7px 11px;font-size:12px}
  .dgs-vv-success-close{right:5px;top:4px}
}
@media(max-width:360px){.dgs-vv-success-popup{top:calc(84px + env(safe-area-inset-top));width:calc(100vw - 16px)}}
@media(prefers-reduced-motion:reduce){.dgs-vv-success-popup,.dgs-vv-success-cart{transition:none}.dgs-vv-success-popup:after{animation:none}}
