/* Look original (fantasma, texto claro, sin relleno azul), sin el glow que
   sobraba — solo el borde un poco mas marcado que el original para mejorar
   contraste. */
body.vh-system .vh-scroll-cue,
body.vh-system .vh-scroll-cue.vh-cue-below-photo{
  background:transparent!important;color:#fff!important;border-color:#eff1f3!important;
}
body.vh-system .vh-scroll-cue span,
body.vh-system .vh-scroll-cue.vh-cue-below-photo span{color:#fff!important}
@media(hover:hover) and (pointer:fine){
  body.vh-system .vh-scroll-cue:hover{background:rgba(255,255,255,.08)!important;border-color:#fff!important}
}

/* En la home el corte antes del footer se nota porque el ultimo bloque
   ("Conocé toda la línea") tiene fondo propio mas claro — footer y body
   comparten el mismo #0a0a0a en el resto del sitio, asi que ahi la linea
   sola no alcanza a leerse como separacion real. Fondo del footer con un
   leve degrade + borde superior en catalogo y PDP, mismo criterio sin
   agregar contenido nuevo. */
body.vh-system:is(.template-category,.template-search,.template-product) footer{
  background:linear-gradient(180deg,#111318,#0a0a0a 160px)!important;
  border-top:1px solid var(--vh-border);
}

/* Tras agregar al carrito, "Ver carrito" es la accion de mayor valor (no
   duplicar unidades con "Agregar otro"): se invierte cual de las dos lee
   como CTA principal. .vh-just-added la agrega store.js.tpl/store-v2.js.tpl
   junto con el "Ya agregaste este producto." Va en este archivo (carga
   ultimo) porque vanhaus-product.css define su propio box-shadow con
   !important en el boton nativo mas abajo en el mismo modulo, y le ganaba
   en desktop aunque el fondo ya estuviera en transparent. */
.vh-system.template-product .vh-just-added input[data-store="product-buy-button"]{background:transparent!important;border:1px solid var(--vh-cta-line)!important;color:var(--vh-text)!important;box-shadow:none!important;filter:none!important}
.vh-system.template-product .vh-just-added .js-added-to-cart-product-message{background:none!important;border:0!important;padding:0!important}
.vh-system.template-product .js-added-to-cart-product-message svg{display:none}
.vh-system.template-product .js-added-to-cart-product-message span{display:flex!important;flex-direction:column;align-items:stretch;gap:10px;width:100%!important}
.vh-system.template-product .js-added-to-cart-product-message .btn-link{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:48px;margin:0!important;padding:10px 18px;border-radius:9px;background:var(--vh-cta)!important;color:var(--vh-cta-ink)!important;font-weight:800;text-decoration:none!important}

/* Footer "Contacto": mail/tel/direccion son <span class="footer-menu-link">
   (no <a>) para que se puedan seleccionar/copiar sin abrir el cliente de
   mail o el dialer. El <span> hereda line-height:25.2px en vez de los 21px
   que trae el <a> de las otras columnas (Ayuda/Vanhaus), asi que sin esto
   cada item queda con ~4px extra de alto y la lista se ve mas espaciada
   aunque el margin-bottom (20px) es el mismo en las tres columnas. */
body.vh-system .vh-footer-contact .footer-menu-link{line-height:21px}

@media(max-width:767px){
  /* Cookie banner: texto largo + boton envolvian a 2-3 lineas en mobile,
     ~8% de la altura util. Una sola fila compacta que no wrappea (el copy
     ya se acorta para mobile en notification.tpl; esto es el remate visual
     por si el dispositivo es angosto igual). */
  body.vh-system .vh-cookie-banner{padding:8px 12px!important;font-size:11px!important;line-height:1.3!important}
  body.vh-system .vh-cookie-banner .row{flex-wrap:nowrap!important}
  body.vh-system .vh-cookie-banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.vh-system .vh-cookie-banner .btn{min-height:0!important;padding:6px 10px!important;font-size:11px!important;white-space:nowrap}
}

/* Focused review: shared atmosphere, legible data cards and purchase confidence. */
body.vh-system::before{content:'';position:fixed;inset:0;z-index:5;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
body.vh-system .vh-logo-col,body.vh-system .vh-logo-col a,body.vh-system .logo-img-container,body.vh-system .logo-img{background:transparent!important;box-shadow:none!important}body.vh-system .vh-logo-col,body.vh-system .logo-img{mix-blend-mode:normal!important}body.vh-system .logo-img{filter:none!important}
body.vh-system .vh-chapter{border:0;background:transparent;isolation:isolate;padding-top:90px;padding-bottom:90px}
body.vh-system .vh-home .vh-chapter{padding-top:clamp(78px,5.5vw,84px);padding-bottom:clamp(78px,5.5vw,84px)}
.vh-chapter::before{content:'';position:absolute;inset:-3% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 28% 48%,color-mix(in srgb,var(--vh-accent) 9%,transparent),transparent 64%);mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}
.vh-chapter.vh-chapter-alt::before{background:radial-gradient(ellipse at 75% 45%,color-mix(in srgb,var(--vh-accent) 9%,transparent),transparent 64%)}
.vh-chapter.vh-chapter-wide{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.vh-chapter.vh-chapter-wide h2{font-size:clamp(38px,5.3vw,82px)}.vh-chapter.vh-chapter-inset .vh-chapter-media{padding:5%}.vh-chapter.vh-chapter-inset h2{max-width:9em;font-size:clamp(36px,4vw,64px)}
body.vh-system .vh-spec{display:flex;flex-direction:column;justify-content:flex-start;gap:12px;background:linear-gradient(140deg,color-mix(in srgb,var(--vh-detail-accent,var(--vh-accent)) 8%,#1a1a1a),#141414 75%);border:1px solid color-mix(in srgb,var(--vh-detail-accent,var(--vh-accent)) 28%,#303238);box-shadow:inset 0 1px #ffffff08}
.vh-spec dd{order:0;color:#f3f5f7!important}.vh-spec dt{order:1;color:#d9dce2!important;font-weight:600}.vh-spec-context{order:2;margin:0;font-size:12px;line-height:1.5;color:#b9bfc9!important}

body.vh-system .category-body{background-image:radial-gradient(ellipse at 70% 20%,#7d92bc07,transparent 60%)!important}body.vh-system .category-body .item:hover,
body.vh-system .vh-related-catalog .item:hover{box-shadow:0 18px 40px #0006,0 0 30px color-mix(in srgb,var(--vh-accent) 10%,transparent)!important}
body.vh-system .vh-product{background:radial-gradient(ellipse at 25% 12%,color-mix(in srgb,var(--vh-accent) 6%,transparent),transparent 35%),#0a0a0a}.vh-product-art .vh-media{background:radial-gradient(ellipse,color-mix(in srgb,var(--vh-accent) 8%,#141414),#101011 70%)}
body.vh-system .vh-product-story{border:0;padding-top:50px}.vh-product-story .vh-spec{min-height:230px}.vh-product-story .vh-spec dd{font-size:clamp(22px,3.2vw,52px)}.vh-product-story .vh-spec-context{font-size:13px}.vh-product-story .vh-specs{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
/* Las 4 cards de "Lo más destacado" comparten el mismo fondo: antes la
   primera tenia un gradiente propio mas claro (nth-child(1)) que las otras
   3 no tenian, y en mobile (grid de 2 columnas) se notaba como inconsistencia
   entre columnas. */
.vh-scroll-cue{display:flex;align-items:center;justify-content:center;gap:24px;width:fit-content;margin:0 auto 12px;padding:14px 22px;border-radius:40px;border:1px solid #3c4248;color:#c6ccd4!important;font-size:12px;text-decoration:none}.vh-scroll-cue span:last-child{font-size:22px;color:var(--vh-accent)}.vh-scroll-cue:hover{border-color:var(--vh-accent);background:#171a1d}
body.vh-system .vh-product #product_form [data-store=product-buy-button]{min-height:64px;font-size:16px;font-weight:900;letter-spacing:.02em;box-shadow:0 8px 30px color-mix(in srgb,var(--vh-accent) 16%,transparent)!important;transform:translate3d(var(--magnet-x,0px),var(--magnet-y,0px),0);transition:transform .18s ease,filter .18s ease}
body.vh-system .vh-product #product_form [data-store=product-buy-button]:enabled:hover{filter:brightness(1.08)}body.vh-system .vh-product #product_form [data-store=product-buy-button]:disabled{box-shadow:none!important;transform:none;cursor:not-allowed}
/* Restored payment bar: configured Tiendanube methods provide the logos. */
body.vh-system .vh-pay-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;box-sizing:border-box;min-height:56px;margin:0 0 10px;padding:10px 16px;border:1px solid #fff;border-radius:10px;background:#fff}
body.vh-system .vh-pay-bar-label{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;font:700 13px/1 "Open Sans",Arial,sans-serif;letter-spacing:.01em;color:#111318;white-space:nowrap}
body.vh-system .vh-pay-bar-label svg{width:19px;height:19px;flex:0 0 19px;fill:#111318;color:#111318}
body.vh-system .vh-pay-bar-logos{display:flex;align-items:center;gap:7px;flex:0 1 auto;min-width:0;overflow:hidden}
body.vh-system .vh-pay-bar-logos img{flex:0 0 auto;width:38px;height:24px;object-fit:contain;background:transparent;border:0;border-radius:0;padding:0;box-sizing:border-box}
body.vh-system .vh-pay-bar-logos img:first-child{width:56px;height:30px}
@media(max-width:767px){body.vh-system .vh-pay-bar{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;height:50px!important;min-height:50px!important;padding:7px 10px!important;gap:8px!important;margin-bottom:8px!important;border-color:#fff!important;background:#fff!important}body.vh-system .vh-pay-bar-label{font-size:11px!important;gap:6px!important;color:#111318!important}body.vh-system .vh-pay-bar-label svg{width:16px!important;height:16px!important;flex-basis:16px!important;fill:#111318!important;color:#111318!important}body.vh-system .vh-pay-bar-logos{justify-content:flex-end!important;gap:5px!important;overflow:hidden!important}body.vh-system .vh-pay-bar-logos img{width:28px!important;height:18px!important}body.vh-system .vh-pay-bar-logos img:first-child{width:42px!important;height:23px!important}body.vh-system .vh-pay-bar-logos img:nth-child(n+4){display:none!important}}
.vh-trust-payment{grid-column:1/-1;background:linear-gradient(135deg,#25282c,#191b1e)}.vh-trust-payment>div{width:100%}.vh-trust-logos{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.vh-trust-logos img{object-fit:contain;width:44px;height:28px;background:#fff;border-radius:4px;padding:3px;box-sizing:border-box}.vh-trust-logos img:first-child{width:68px;height:38px}
.vh-information{padding:25px 0 80px}.vh-information-ready.vh-product-description{padding:0;border:0;background:transparent}.vh-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.vh-info-accordion{min-width:0;border:1px solid #41474f;border-radius:16px;background:#17191c;overflow:hidden}.vh-info-accordion summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 20px;cursor:pointer;list-style:none;font-size:15px;font-weight:700;color:#eef1f6}.vh-info-accordion summary::-webkit-details-marker{display:none}.vh-info-accordion summary::after{content:'+';font-size:24px;font-weight:300;color:var(--vh-accent)}.vh-info-accordion[open] summary::after{content:'−'}.vh-info-accordion[open]{border-color:color-mix(in srgb,var(--vh-accent) 50%,#41474f)}.vh-info-body{padding:0 20px 24px;overflow-wrap:anywhere}.vh-info-body p,.vh-info-body li,.vh-info-body strong{color:#d7dce4!important;font-size:14px!important}.vh-info-body table{display:table;width:100%!important;table-layout:fixed;border-collapse:collapse}.vh-info-body td,.vh-info-body th{background:#1a1d21!important;color:#e4e8ee!important;border-color:#464b54!important;padding:10px!important;font-size:12px!important;overflow-wrap:anywhere}.vh-info-body th{background:#242930!important}.vh-info-body img{max-width:100%;height:auto}
@media(min-width:1200px){.vh-product-purchase .vh-trust-payment{grid-column:auto}}
@media(max-width:767px){body.vh-system .vh-chapter{padding:42px 20px 62px;grid-template-columns:1fr}.vh-chapter.vh-chapter-wide h2,.vh-chapter.vh-chapter-inset h2{font-size:36px;max-width:100%}.vh-product-story .vh-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.vh-product-story .vh-spec{padding:18px 14px;min-height:170px}.vh-product-story .vh-spec dd{font-size:26px}.vh-info-grid{grid-template-columns:1fr}.vh-scroll-cue{margin-top:8px}.vh-info-accordion summary{padding:20px}.vh-chapter.vh-chapter-inset .vh-chapter-media{padding:0}}
@media(prefers-reduced-motion:reduce){.vh-chapter::before{background:none!important}.vh-system .vh-action,.vh-system [data-vh-magnet]{transform:none!important;transition:opacity .18s!important}.vh-system .vh-search-inline{transition:opacity .18s!important}.vh-system .category-body .item:hover,
.vh-system .vh-related-catalog .item:hover{transform:none!important;box-shadow:none!important}.vh-system .vh-product #product_form [data-store=product-buy-button]{box-shadow:none!important}}

body.vh-system .vh-header-row .vh-search-inline{width:min(360px,calc(100vw - 170px));transition:opacity .18s ease,transform .18s ease;transform:translateY(-50%) scale(.98)}body.vh-system .vh-header-row .vh-search-item.is-open .vh-search-inline{transform:translateY(-50%) scale(1)}

.vh-system [data-vh-surface].item{position:relative;isolation:isolate}.vh-system [data-vh-surface].item::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse,var(--vh-accent),transparent 70%);opacity:0;transform:translate3d(var(--surface-x,0px),var(--surface-y,0px),0);transition:opacity .25s}.vh-system [data-vh-surface].item:hover::before,.vh-system [data-vh-surface].item.vh-touch-glow::before{opacity:.1}@media(prefers-reduced-motion:reduce){.vh-system [data-vh-surface].item::before{display:none}}

body.vh-system .vh-logo-col{mix-blend-mode:normal!important}
@media(prefers-reduced-motion:reduce){body.vh-system .vh-header-row .vh-search-inline{transition:opacity .18s!important}}
/* Desktop reveal animation runs; vanhaus-interactions.js carries a scroll/RAF
   fallback so a silent IntersectionObserver can never leave content invisible.
   Mobile stays force-painted by the @media rule below. */
.vh-home-load{padding:30px 20px;max-width:1380px;margin:auto}.vh-home-load .vh-action{margin:8px 8px 8px 0}.vh-home-load [hidden]{display:none!important}
body.vh-system .vh-product #product_form .vh-buy-column{flex:0 0 100%;max-width:100%;padding-left:5px;padding-right:5px}
body.vh-system .vh-product #product_form [data-store=product-buy-button],body.vh-system .vh-product .vh-pdp-whatsapp{width:100%;max-width:none;box-sizing:border-box}
@media(max-width:767px),(hover:none){body.vh-system .vh-home [data-vh-reveal]{opacity:1!important;transform:none!important;transition:opacity .2s ease!important;transition-delay:0ms!important}body.vh-system .vh-home [data-vh-poster]{transform:none!important}body.vh-system .vh-home .vh-media:not(.vh-home-video-stage)>[data-vh-scroll-video]{display:none!important}body.vh-system .vh-home .vh-media:not(.vh-home-video-stage).vh-video-ready>[data-vh-poster]{opacity:1!important}}

/* Keyboard focus for custom controls whose native input is visually hidden, plus
   accordions, gallery thumbs and chips. Complements the base :focus-visible rule. */
.vh-system .checkbox-container:has(input:focus-visible),
.vh-system .js-filter-checkbox:has(input:focus-visible),
.vh-system .checkbox-container:focus-within,
.vh-system .js-filter-checkbox:focus-within{outline:2px solid var(--vh-accent);outline-offset:3px;border-radius:6px}
.vh-system .vh-info-accordion summary:focus-visible{outline:2px solid var(--vh-accent);outline-offset:-2px;border-radius:12px}
.vh-system .js-product-thumb:focus-visible,.vh-system .js-product-slide-link:focus-visible,.vh-system .js-insta-variant:focus-visible,.vh-system .vh-navigation-cta:focus-visible{outline:2px solid var(--vh-accent);outline-offset:3px}

/* ===== Mobile pass: depth, product staging, spec layout, floating-button safety =====
   Desktop is untouched: everything below is inside a max-width:767px query. */
@media(max-width:767px){
  /* Category glow behind each product: 9% of the accent is invisible on a phone screen. */
  body.vh-system .vh-chapter{padding:34px 20px 54px}
  body.vh-system .vh-chapter::before,
  body.vh-system .vh-chapter.vh-chapter-alt::before{inset:-2% -14%;background:radial-gradient(ellipse at 50% 34%,color-mix(in srgb,var(--vh-accent) 20%,transparent),transparent 66%);mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
  body.vh-system::before{opacity:.042}

  /* Put the product on a stage: halo behind it and a pool of light underneath, so it
     stops floating on flat black. A black drop-shadow is invisible on #0a0a0a. */
  body.vh-system .vh-home .vh-media::before{inset:6%;opacity:.34}
  body.vh-system .vh-home .vh-media::after{content:"";position:absolute;left:50%;bottom:7%;width:64%;height:10%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--vh-accent) 30%,transparent),transparent 72%);filter:blur(7px);z-index:-1;pointer-events:none}
  body.vh-system .vh-home .vh-media>[data-vh-poster]{filter:drop-shadow(0 14px 18px rgba(0,0,0,.55))}
  body.vh-system .vh-product-art .vh-media::before{inset:8%;opacity:.3}

  /* Spec cards: two readable columns instead of three cramped ones. */





  /* Floating WhatsApp button: tucks away while scrolling down and whenever it would
     sit on top of an interactive block. The in-page WhatsApp CTA stays available. */
  .btn-whatsapp{bottom:calc(16px + env(safe-area-inset-bottom));right:14px;transition:bottom .2s ease,transform .25s ease,opacity .25s ease}
  body.vh-dock-visible .btn-whatsapp{bottom:calc(26px + env(safe-area-inset-bottom) + var(--vh-dock-h,0px))}
  body.vh-fab-tucked .btn-whatsapp,
  body.vh-dock-visible.vh-fab-tucked .btn-whatsapp{transform:translateY(160%);opacity:0;pointer-events:none}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){.btn-whatsapp{transition:opacity .2s ease}}

/* ===== Mobile parity: same spec card, same filled buttons, just smaller ===== */
@media(max-width:767px){




  /* Actions stack full width, same filled treatment as desktop. */
  .vh-chapter-actions{grid-template-columns:1fr;max-width:none;gap:10px}
}

/* ===== Catálogo: button and its label in proportion ===== */
body.vh-system .category-body .item-actions .btn-primary,
body.vh-system .category-body .item-actions .btn,
body.vh-system .vh-related-catalog .item-actions .btn-primary,
body.vh-system .vh-related-catalog .item-actions .btn{min-height:42px;padding:11px 14px;font-size:14px;font-weight:700;line-height:1.2;letter-spacing:-.01em}
@media(max-width:767px){
  body.vh-system .category-body .item-actions .btn-primary,
  body.vh-system .category-body .item-actions .btn,
body.vh-system .vh-related-catalog .item-actions .btn-primary,
body.vh-system .vh-related-catalog .item-actions .btn{min-height:40px;padding:10px 10px;font-size:13px}
}

/* PDP payment presentation; native components supply amounts and method names. */
.vh-product .vh-payment-discount{margin:10px 0 0;color:var(--vh-muted);font-size:13px;line-height:1.5}
.vh-product .vh-payment-discount-price{color:var(--vh-text);font-size:22px;font-weight:600;letter-spacing:normal}
.vh-product .vh-payment-discount-method{color:var(--vh-muted);font-size:13px;font-weight:400}
.vh-product .vh-payment-options{margin:0 0 12px;min-width:0}
.vh-product .product-detail-installments{margin:0 0 8px;color:var(--vh-muted);font-size:13px;line-height:1.5}
.vh-product .vh-payment-details-link{display:inline-block;padding:4px 0;color:var(--vh-accent);font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.vh-product .vh-payment-details-link:focus-visible{outline:2px solid var(--vh-accent);outline-offset:4px}







body.vh-system .vh-product .vh-scroll-cue{display:flex;width:100%;box-sizing:border-box;margin:14px 0 4px;gap:14px;justify-content:center;min-height:48px;font-size:13px}
@media(max-width:767px){









  body.vh-system .vh-product .vh-scroll-cue{display:none!important}
  /* Tighten what sits above so price + buttons + cue reach the first screen. */
  body.vh-system .vh-product .price-container{padding:18px 0;margin-bottom:16px!important}
  body.vh-system .vh-product .vh-pdp-heading h1{font-size:34px}
  body.vh-system .vh-product .vh-pdp-purchase-signals{margin-bottom:10px}
  body.vh-system .vh-product-breadcrumb{padding-top:12px;padding-bottom:12px}
  body.vh-system .vh-product-hero{gap:14px}
}

/* ==========================================================================
   Parte H — producto sin recortes, acento pleno, identidad y snap de scroll
   ========================================================================== */

/* --- 1. El producto nunca se recorta y no vive dentro de un recuadro ---
   El halo quedaba clipeado por overflow:hidden y dibujaba un rectángulo duro.
   Se libera el desborde y la imagen se limita a la caja en vez de excederla. */
body.vh-system .vh-media{overflow:visible}
body.vh-system .vh-media>[data-vh-poster]{max-width:100%;max-height:100%;object-fit:contain}
body.vh-system .vh-chapter-media .vh-media,
body.vh-system .vh-product-art .vh-media{background:none}
body.vh-system .vh-media>[data-vh-scroll-video]{border-radius:inherit}

/* --- 2. Acento pleno: nada de rellenos que se lean como transparentes --- */
body.vh-system .vh-btn-ghost{background:color-mix(in srgb,var(--vh-accent) 60%,#05070a)!important;border-color:transparent!important;color:#f4f7fb!important}
body.vh-system .vh-btn-solid{background:var(--vh-cta)!important;border-color:var(--vh-cta)!important;color:var(--vh-cta-ink)!important}
body.vh-system .vh-btn-solid:disabled,body.vh-system .vh-btn-solid.nostock{background:#282a30!important;border-color:#444650!important;color:#b8b9c1!important}
body.vh-system .vh-home .vh-btn-solid:disabled,body.vh-system .vh-home .vh-btn-solid.nostock{background:#282a30!important;border-color:#444650!important;color:#b8b9c1!important;cursor:not-allowed}

/* --- 3. "Descubrí los detalles": late para que se entienda que hay que bajar --- */
@keyframes vh-cue-pulse{0%,100%{border-color:color-mix(in srgb,var(--vh-accent) 45%,#3c4248);box-shadow:0 0 0 0 color-mix(in srgb,var(--vh-accent) 30%,transparent)}50%{border-color:var(--vh-accent);box-shadow:0 0 22px -2px color-mix(in srgb,var(--vh-accent) 55%,transparent)}}
@keyframes vh-cue-arrow{0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(5px);opacity:1}}
body.vh-system .vh-product .vh-scroll-cue{animation:vh-cue-pulse 2.1s ease-in-out infinite;color:var(--vh-text)!important;font-weight:600}
body.vh-system .vh-product .vh-scroll-cue span:last-child{display:inline-block;animation:vh-cue-arrow 1.5s ease-in-out infinite;color:var(--vh-accent)}

/* --- 4. "En detalle" usa la misma tarjeta con corte y línea de acento --- */
body.vh-system .vh-product-story .vh-spec{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;min-width:0;align-self:stretch;padding:20px 18px 22px;border:0;border-radius:0;box-shadow:none;overflow:hidden;
  background:linear-gradient(160deg,color-mix(in srgb,var(--vh-accent) 12%,#16181c),#111316 72%);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);
  transition:background .25s ease,transform .25s ease}
body.vh-system .vh-product-story .vh-spec::before{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--vh-accent);opacity:.95}
body.vh-system .vh-product-story .vh-spec::after{content:'';position:absolute;top:0;right:0;width:18px;height:18px;background:linear-gradient(225deg,color-mix(in srgb,var(--vh-accent) 55%,transparent),transparent 70%)}
body.vh-system .vh-product-story .vh-spec dd{order:0;margin:0;min-width:0;white-space:nowrap;overflow-wrap:normal;word-break:normal;hyphens:none;color:var(--vh-text)!important}
body.vh-system .vh-product-story .vh-spec dt{order:1;min-width:0;font:600 10px/1.3 "Open Sans",Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;overflow-wrap:normal;word-break:normal;hyphens:none;color:var(--vh-muted)!important}
body.vh-system .vh-product-story .vh-spec-context{order:2}
@media(hover:hover) and (pointer:fine){
  body.vh-system .vh-product-story .vh-spec:hover{transform:translateY(-4px);background:linear-gradient(160deg,color-mix(in srgb,var(--vh-accent) 26%,#16181c),#121417 72%)}
  body.vh-system .vh-product-story .vh-spec:hover::before{box-shadow:0 0 26px 2px var(--vh-accent);opacity:1}
  body.vh-system .vh-product-story .vh-spec:hover dd{color:#fff!important}
}

/* --- 5. Identidad: acento más presente y trama de puntos en vez de sólo grano --- */
body.vh-system::after{content:'';position:fixed;inset:0;z-index:4;pointer-events:none;opacity:.5;
  background-image:radial-gradient(circle at center,rgba(255,255,255,.055) 1px,transparent 1.2px);background-size:22px 22px}
body.vh-system .vh-chapter::before{background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--vh-accent) 26%,transparent),transparent 62%)}
body.vh-system .vh-chapter.vh-chapter-alt{background:linear-gradient(180deg,#0d0f12,#0a0a0a)}
body.vh-system .vh-chapter-copy h2::after{height:5px;width:72px}

/* El relato de productos usa cards sticky (vanhaus-home.css). No se combina
   con scroll-snap: ambos modelos juntos se anulaban visualmente. */

/* --- Mobile: cajas cuadradas para que el PNG entre entero, y misma tarjeta que en PC --- */
@media(max-width:767px){
  body.vh-system .vh-chapter-media .vh-media{aspect-ratio:1;max-height:46svh;background:none}
  body.vh-system .vh-product-art .vh-media{aspect-ratio:1;max-height:40svh;min-height:0;background:none;border:0}
  body.vh-system .vh-home .vh-media::before,
  body.vh-system .vh-product-art .vh-media::before{inset:2%;opacity:.4}
  body.vh-system .vh-product-story .vh-spec{padding:16px 14px 18px;gap:7px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);min-height:0}
  body.vh-system .vh-product-story .vh-spec::after{width:14px;height:14px}
  body.vh-system .vh-product-story .vh-spec dd{font-size:18px;letter-spacing:-.05em;line-height:1.02}
  body.vh-system .vh-product-story .vh-spec dt{font-size:9px}
  body.vh-system .vh-product-story .vh-spec-context{font-size:11px}
  body.vh-system .vh-home .vh-line-nav{gap:9px}
}

/* --- Hover de producto: escala suave, sin círculo/lupa. --- */
body.vh-system .vh-product-art .js-product-slide img{scale:1;transition:scale .32s cubic-bezier(.2,.75,.25,1)}
@media(hover:hover) and (pointer:fine){body.vh-system .vh-product-art .js-product-slide:hover img{scale:1.035}}
@media(prefers-reduced-motion:reduce){body.vh-system .vh-product-art .js-product-slide img{scale:1!important;transition:none!important}}

/* ==========================================================================
   Parte J — cue sobre la foto, galería con riel, WhatsApp relleno, más trama
   ========================================================================== */

/* --- Indicador: debajo de la foto grande y en la fila visual de las cards informativas. --- */
body.vh-system .vh-product .vh-cue-below-photo{position:static;left:auto;bottom:auto;transform:none;z-index:3;width:100%;margin:0;
  background:var(--vh-accent);border-color:var(--vh-accent);color:#0b0d10!important;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px 22px}
@media(max-width:767px){
  body.vh-system .vh-product .vh-cue-below-photo{padding:11px 14px}
}

/* --- WhatsApp remains available as a quiet support action below the purchase CTA. --- */
body.vh-system .vh-product .vh-pdp-whatsapp{min-height:44px!important;background:transparent!important;border:1px solid #454851!important;color:var(--vh-muted)!important;font-size:11px!important;font-weight:600!important;box-shadow:none!important}
body.vh-system .vh-product .vh-pdp-whatsapp svg{width:17px;height:17px;fill:#25b85a!important}
@media(hover:hover) and (pointer:fine){body.vh-system .vh-product .vh-pdp-whatsapp:hover{background:#ffffff08!important;border-color:#656975!important;color:var(--vh-text)!important}}

/* --- Galería: riel de miniaturas a la izquierda + flechas visibles en las dos versiones --- */
body.vh-system .vh-native-gallery .vh-gallery-rail{padding-right:10px}
body.vh-system .vh-native-gallery .product-thumb{display:block;position:relative;margin-bottom:10px;border:1px solid #33363d;border-radius:10px;overflow:hidden;background:#111316;transition:border-color .2s ease,box-shadow .2s ease;transform:none!important}
body.vh-system .vh-native-gallery .product-thumb.selected{border-color:var(--vh-accent);box-shadow:0 0 0 1px var(--vh-accent),0 0 18px -6px var(--vh-accent)}
@media(hover:hover) and (pointer:fine){body.vh-system .vh-native-gallery .product-thumb:hover{border-color:var(--vh-accent)}}
body.vh-system .vh-native-gallery .swiper-button-next,
body.vh-system .vh-native-gallery .swiper-button-prev{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;margin-top:-22px;border-radius:50%;
  background:color-mix(in srgb,#0a0c10 72%,transparent);border:1px solid color-mix(in srgb,var(--vh-accent) 45%,#3a3d45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:1;z-index:3}
body.vh-system .vh-native-gallery .swiper-button-next svg,
body.vh-system .vh-native-gallery .swiper-button-prev svg{width:16px;height:16px;fill:var(--vh-accent)}
body.vh-system .vh-native-gallery .swiper-button-prev{left:10px}
body.vh-system .vh-native-gallery .swiper-button-next{right:10px}
body.vh-system .vh-native-gallery .swiper-button-disabled{opacity:.35}
@media(max-width:767px){
  body.vh-system .vh-native-gallery .vh-pdp-gallery{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:10px;margin-right:0!important;margin-left:0!important}
  body.vh-system .vh-native-gallery .product-image-container{order:1;flex:0 0 auto!important;width:100%!important;max-width:100%!important;margin:0!important;left:auto!important;right:auto!important;transform:none!important}
  /* Miniaturas centradas bajo la foto principal. El "safe" importa: si el
     producto tiene muchas fotos y la tira desborda, centrar recortaria la
     primera miniatura y quedaria inalcanzable; ahi vuelve sola a empezar
     desde la izquierda. */
  body.vh-system .vh-native-gallery .vh-gallery-rail{order:2;display:flex!important;justify-content:center;justify-content:safe center;flex:0 0 auto!important;gap:8px;width:100%!important;max-width:100%!important;max-height:none;margin:0!important;padding:0 0 4px!important;left:auto!important;right:auto!important;transform:none!important;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  body.vh-system .vh-native-gallery .product-thumb{flex:0 0 72px!important;width:72px!important;margin:0!important;border-radius:8px;scroll-snap-align:start}
  body.vh-system .vh-native-gallery .swiper-button-next,
  body.vh-system .vh-native-gallery .swiper-button-prev{width:38px;height:38px;margin-top:-19px}
  body.vh-system .vh-native-gallery .js-swiper-product-pagination{display:block}
}

/* --- Trama de fondo más marcada, sobre todo en catálogo y ficha --- */
body.vh-system::after{opacity:.85;background-image:radial-gradient(circle at center,rgba(255,255,255,.075) 1px,transparent 1.35px);background-size:20px 20px}
body.vh-system.template-category::after,body.vh-system.template-search::after,body.vh-system.template-product::after{opacity:1;background-image:
  radial-gradient(circle at center,color-mix(in srgb,var(--vh-accent) 16%,transparent) 1px,transparent 1.4px),
  radial-gradient(circle at center,rgba(255,255,255,.05) 1px,transparent 1.3px);
  background-size:80px 80px,20px 20px}
body.vh-system.template-product .vh-product{background:#0a0a0a}
body.vh-system.template-category .category-body,body.vh-system.template-search .category-body{background-image:radial-gradient(ellipse at 70% 0%,color-mix(in srgb,var(--vh-accent) 10%,transparent),transparent 55%)!important}

/* --- Flechas del carrusel de la ficha --- */
body.vh-system .vh-native-gallery .product-image-container{position:relative}
body.vh-system .vh-gal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border-radius:50%;cursor:pointer;
  background:color-mix(in srgb,#0a0c10 74%,transparent);border:1px solid color-mix(in srgb,var(--vh-accent) 45%,#3a3d45);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s ease,border-color .2s ease,transform .2s ease}
body.vh-system .vh-gal-nav svg{width:15px;height:15px;fill:var(--vh-accent)}
body.vh-system .vh-gal-prev{left:12px}
body.vh-system .vh-gal-prev svg{transform:rotate(180deg)}
body.vh-system .vh-gal-next{right:12px}
body.vh-system .vh-gal-nav:focus-visible{outline:2px solid var(--vh-accent);outline-offset:3px}
@media(hover:hover) and (pointer:fine){body.vh-system .vh-gal-nav:hover{background:color-mix(in srgb,var(--vh-accent) 26%,#0a0c10);border-color:var(--vh-accent);transform:translateY(-50%) scale(1.06)}}
@media(max-width:767px){
  /* Mismo criterio que las reseñas: en mobile nada de flechas circulares
     tapando la foto, solo swipe (el swiper nativo ya lo soporta). */
  body.vh-system.template-product .vh-native-gallery .product-image-container :is(.vh-gal-nav,.swiper-button-prev,.swiper-button-next){display:none!important}
}

/* En pares de acciones, comprar conserva el verde funcional y "Ver producto"
   queda como acceso secundario neutro, con idénticas dimensiones. */
body.vh-system .vh-btn-outline{background:transparent!important;border:1px solid #565b64!important;color:#e4e8ee!important;font-weight:700}
body.vh-system .vh-btn-outline:disabled,body.vh-system .vh-btn-outline.nostock{border-color:#484a54!important;color:#9aa0aa!important;background:transparent!important;cursor:not-allowed}
@media(hover:hover) and (pointer:fine){
  body.vh-system .vh-btn-outline:not(:disabled):hover{transform:translateY(-2px);background:color-mix(in srgb,var(--vh-cta) 9%,transparent)!important;border-color:var(--vh-cta)!important;color:#fff!important}
}

/* All custom storytelling/PDP motion becomes instantaneous when requested by
   the operating system. Native controls remain usable without movement. */
@media(prefers-reduced-motion:reduce){
  html,body.vh-system,body.vh-system .vh-home,body.vh-system .vh-product{scroll-behavior:auto!important}
  body.vh-system .vh-home *,body.vh-system .vh-home *::before,body.vh-system .vh-home *::after,
  body.vh-system .vh-product *,body.vh-system .vh-product *::before,body.vh-system .vh-product *::after,
  body.vh-system .vh-product-dock{animation:none!important;transition:none!important}
  body.vh-system [data-vh-reveal]{opacity:1!important;transform:none!important;transition-delay:0ms!important}
}


/* Product media always renders at full visual strength. Intrinsic PNG alpha is
   preserved; only component-level fading, blending and filters are removed. */
body.vh-system :is([data-vh-media],.item-image,.product-image-container,.vh-card-media,.vh-spotlight-media,.vh-spotlight2-media,.vh-tech-media,.cart-item,.js-cart-notification-item) :is(img:not(.blur-up),video,iframe),
body.vh-system .section-products-related :is(img:not(.blur-up),video,iframe){opacity:1!important;filter:none!important;mix-blend-mode:normal!important}
body.vh-system :is(.vh-home .vh-chapter,.js-item-product,.vh-product-art)[data-vh-reveal]{opacity:1!important}
body.vh-system [data-vh-reveal]:has(:is([data-vh-media],.item-image,.product-image-container,.vh-card-media,.vh-spotlight-media,.vh-spotlight2-media,.vh-tech-media)){opacity:1!important}

/* Keep mutually exclusive media at opacity 1 and switch them without alpha
   fades, preventing posters and secondary photos from stacking. */
body.vh-system .vh-media>[data-vh-scroll-video],body.vh-system .vh-tech-media video{opacity:1!important;visibility:hidden}
body.vh-system .vh-media.vh-video-ready>[data-vh-scroll-video],body.vh-system .vh-tech-media.is-ready video{visibility:visible}
body.vh-system .vh-media.vh-video-ready>[data-vh-poster],body.vh-system .vh-tech-media.is-ready img{opacity:1!important;visibility:hidden}
body.vh-system .item-image-secondary{opacity:1!important;visibility:hidden}
body.vh-system .product-item-secondary-images-loaded:not(.product-item-secondary-images-disabled):hover .item-image-featured{opacity:1!important;visibility:hidden}
body.vh-system .product-item-secondary-images-loaded:not(.product-item-secondary-images-disabled):hover .item-image-featured~.item-image-secondary{opacity:1!important;visibility:visible}

/* Decorative grain belongs behind product media, never over its pixels. Raising
   the media stacking contexts keeps the page atmosphere visible around them. */
body.vh-system :is(.vh-chapter,.vh-feature-card,.js-item-product,.vh-product-art,.vh-tech-media,.vh-card-media,.vh-spotlight-media,.vh-spotlight2-media){z-index:6}
body.vh-system :is([data-vh-media],.item-image,.product-image-container,.vh-card-media,.vh-spotlight-media,.vh-spotlight2-media,.vh-tech-media) :is(img:not(.blur-up),video,iframe){z-index:1}

/* Home — primer capítulo (hero): el bloque de información deja de pegarse al
   bloque visual. Solo spacing interno de la columna de copy: el video/foto y
   las pistas del grid conservan exactamente su tamaño. */
body.vh-system .vh-chapter.vh-chapter-hero .vh-chapter-copy{padding-left:clamp(18px,2.2vw,40px)}
@media(max-width:767px){
  body.vh-system .vh-chapter.vh-chapter-hero .vh-chapter-copy{padding-left:0;padding-top:26px}
}

/* Sistema de botones Vanhaus (azul). El verde deja de ser color global de
   acción y queda reservado como acento ambiental de categoría.
   CTA principal: #A2BEFE sobre #000 — hover #7D92BC sobre #000.
   CTA secundario: transparente, borde #7D92BC, texto #EFF1F3 — hover #7D92BC sobre #000. */
body.vh-system .vh-btn-outline{background:transparent!important;border:1px solid var(--vh-cta-line)!important;color:var(--vh-cta-ghost-ink)!important}
@media(hover:hover) and (pointer:fine){
  body.vh-system .vh-btn-outline:not(:disabled):hover{background:var(--vh-cta-line)!important;border-color:var(--vh-cta-line)!important;color:var(--vh-cta-ink)!important}
  body.vh-system .vh-btn-solid:not(:disabled):hover,
  body.vh-system .btn-primary:not(:disabled):hover,
  body.vh-system .vh-action:hover,
  body.vh-system .vh-home .vh-action:hover,
  body.vh-system .vh-product-dock button:not(:disabled):hover{background:var(--vh-cta-hover)!important;border-color:var(--vh-cta-hover)!important;color:var(--vh-cta-ink)!important;filter:none;opacity:1}
}

/* ==========================================================================
   PDP — cabecera: "Descubrí los detalles" pasa a CTA secundario.
   Sólo el indicador; galería, precio, cantidad, color y el CTA no se tocan.
   ========================================================================== */
body.vh-system .vh-product .vh-cue-below-photo{
  width:auto;max-width:none;box-sizing:border-box;
  margin:16px auto 4px;padding:11px 22px;min-height:46px;
  background:transparent;border:1px solid var(--vh-cta-line);
  color:var(--vh-cta-ghost-ink)!important;font-weight:600;
  animation:none;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
/* La flecha se mantiene, con su misma animación. */
body.vh-system .vh-product .vh-cue-below-photo span:last-child{color:var(--vh-cta-line)!important}
@media(hover:hover) and (pointer:fine){
  body.vh-system .vh-product .vh-cue-below-photo:hover{background:var(--vh-cta-line);border-color:var(--vh-cta-line);color:var(--vh-cta-ink)!important}
  body.vh-system .vh-product .vh-cue-below-photo:hover span:last-child{color:var(--vh-cta-ink)!important}
}
@media(max-width:767px){
  body.vh-system .vh-product .vh-cue-below-photo{margin:14px auto 2px;padding:10px 18px;min-height:44px}
  body.vh-system .vh-product .vh-cue-below-photo.vh-cue-with-thumbs{width:auto;margin-left:auto}
}

/* ==========================================================================
   PDP — precio, cue centrado, sticky con composición, specs en mobile y
   encabezado de reseñas. Todo acotado a la ficha de producto.
   ========================================================================== */

/* 4) El precio pesaba más que el nombre (clamp 46-76 contra 36-72). Baja a un
   escalón por debajo del nombre sin dejar de leerse de un golpe. */
body.vh-system .vh-product #price_display{font-size:clamp(30px,3.1vw,46px)!important;letter-spacing:-.045em}
body.vh-system .vh-product #compare_price_display{font-size:clamp(15px,1.5vw,20px)!important}
@media(max-width:767px){
  body.vh-system .vh-product #price_display{font-size:27px!important}
  body.vh-system .vh-product #compare_price_display{font-size:15px!important}
}

/* 5) "Descubrí los detalles": queda centrado sobre la FOTO, no sobre la
   columna entera. Con miniaturas el riel ocupa col-md-2 (16.667%), así que la
   píldora se corre media columna a la derecha. El % de `left` se resuelve
   contra el ancho del contenedor, no contra el del propio botón. */
body.vh-system .vh-product .vh-cue-main-frame{display:flex;justify-content:center}
body.vh-system .vh-product .vh-cue-main-frame .vh-cue-below-photo{flex:0 0 auto;width:auto;margin-left:auto;margin-right:auto}

/* 6) Sticky de compra: tres zonas con jerarquía en vez de una barra vacía. */
body.vh-system .vh-product-dock{gap:18px;padding:10px 12px 10px 22px}
body.vh-system .vh-product-dock .vh-dock-info{display:flex;flex-direction:column;justify-content:center;gap:3px;flex:1 1 auto;min-width:0}
body.vh-system .vh-product-dock .vh-dock-kicker{display:block;max-width:100%;font:600 9px/1.2 var(--vh-font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--vh-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.vh-system .vh-product-dock .vh-dock-name{display:block;max-width:100%;font:700 15px/1.25 var(--vh-font-display);letter-spacing:-.02em;color:var(--vh-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.vh-system .vh-product-dock .vh-dock-price{flex:0 0 auto;display:block;font-size:24px;line-height:1.1;letter-spacing:-.04em;font-weight:900;color:var(--vh-text)}
body.vh-system .vh-product-dock .vh-dock-price:empty{display:none}
body.vh-system .vh-product-dock .vh-dock-rule{flex:0 0 1px;align-self:stretch;margin:2px 0;background:linear-gradient(180deg,transparent,#5a5d68 22%,#5a5d68 78%,transparent)}
body.vh-system .vh-product-dock .vh-dock-cta{flex:0 0 auto;letter-spacing:.02em;text-transform:uppercase}
@media(max-width:767px){
  body.vh-system .vh-product-dock{gap:10px;padding:8px 8px 8px 14px}
  body.vh-system .vh-product-dock .vh-dock-kicker{font-size:8px;letter-spacing:.14em}
  body.vh-system .vh-product-dock .vh-dock-name{font-size:12px}
  body.vh-system .vh-product-dock .vh-dock-price{font-size:17px}
  body.vh-system .vh-product-dock .vh-dock-rule{display:none}
  body.vh-system .vh-product-dock{display:grid;grid-template-columns:minmax(0,1fr) minmax(134px,auto);grid-template-areas:"info cta" "price cta";align-items:center;column-gap:10px;row-gap:1px}
  body.vh-system .vh-product-dock .vh-dock-info{grid-area:info}
  body.vh-system .vh-product-dock .vh-dock-price{grid-area:price}
  /* max-width:52% viene del layout flex anterior y en grid se resuelve contra
     la celda, dejando el CTA en 82px con el texto partido en tres lineas. */
  body.vh-system .vh-product-dock .vh-dock-cta{grid-area:cta;align-self:stretch;width:100%;max-width:none}
  body.vh-system .vh-product-dock .vh-dock-kicker{display:none}
}

/* 7) Specs en mobile: sin cortes de palabra a mitad y sin columnas angostas.
   overflow-wrap:normal y no break-word: una palabra se quiebra entera o no se
   quiebra, nunca por el medio ("2 equip / os"). */
@media(max-width:767px){
  body.vh-system .vh-product-story .vh-spec dd,
  body.vh-system .vh-product-story .vh-spec dt,
  body.vh-system .vh-product-story .vh-spec-context{overflow-wrap:normal;word-break:normal;hyphens:none}
}
@media(max-width:599px){
  body.vh-system .vh-product-story .vh-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:359px){
  body.vh-system .vh-product-story .vh-spec{padding:16px 14px}
}

/* 8) Encabezado de reseñas: estrellas + 4.8/5 a la izquierda, total a la derecha. */
body.vh-system .vh-product-reviews .vh-reviews-score{display:flex;align-items:center;gap:12px}
body.vh-system .vh-product-reviews .vh-reviews-score strong{font-family:var(--vh-font-display);font-size:clamp(22px,2.4vw,30px);line-height:1;letter-spacing:-.04em;color:var(--vh-text)}
body.vh-system .vh-product-reviews .vh-reviews-total{margin:0;flex:0 0 auto;font:600 14px/1.2 var(--vh-font-ui);color:var(--vh-muted);white-space:nowrap}
@media(max-width:767px){
  body.vh-system .vh-product-reviews .vh-reviews-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
  body.vh-system .vh-product-reviews .vh-reviews-score{gap:9px}
  body.vh-system .vh-product-reviews .vh-reviews-score strong{font-size:22px}
  body.vh-system .vh-product-reviews .vh-reviews-total{font-size:12px}
}

/* 10) Vuelta al principio de la ficha. */
body.vh-system .vh-reviews-back{margin:26px 0 0;text-align:center}
body.vh-system .vh-reviews-back a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 22px;border:1px solid var(--vh-cta-line);border-radius:40px;color:var(--vh-cta-ghost-ink)!important;font:600 13px/1 var(--vh-font-ui);text-decoration:none;transition:background-color .18s ease,color .18s ease}
@media(hover:hover) and (pointer:fine){
  body.vh-system .vh-reviews-back a:hover{background:var(--vh-cta-line);color:var(--vh-cta-ink)!important}
}

/* ==========================================================================
   PDP — "Productos similares". Sólo esta sección: el resto de la ficha,
   el catálogo y la Home usan las mismas clases y no se tocan.
   ========================================================================== */

/* 4/5) El carrusel dejaba las cards corridas: con dos productos el wrapper
   quedaba desplazado 323px y el hueco caía todo de un lado. Se neutraliza el
   desplazamiento y el conjunto pasa a una grilla centrada, con todos los
   productos a la vista y separación pareja. Los !important son necesarios
   porque Swiper escribe ancho y transform en el style inline. */
body.vh-system.template-product .section-products-related .swiper-container,
body.vh-system.template-product .section-products-related .products-section-slider-container{overflow:visible!important}
body.vh-system.template-product .section-products-related .swiper-wrapper{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,250px));justify-content:center;
  gap:20px;transform:none!important;width:auto!important;height:auto!important}
body.vh-system.template-product .section-products-related .swiper-slide{display:flex!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important}
/* Todas las cards de una fila terminan a la misma altura y el CTA queda al pie. */
body.vh-system.template-product .section-products-related .item{align-self:stretch!important;width:100%!important;height:auto!important}
/* Con quickshop activo todo cuelga de .js-product-container, asi que el auto
   margin del CTA necesita que ese contenedor sea el que estira. */
body.vh-system.template-product .section-products-related .item>.js-product-container{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
body.vh-system.template-product .section-products-related .item-actions{margin-top:auto!important}
/* Una sola fila en desktop: el bloque no vuelve a crecer si la categoria trae
   muchos relacionados (el template llega a traer hasta 8). */
body.vh-system.template-product .section-products-related .swiper-slide:nth-child(n+4){display:none!important}
/* Sin carrusel no hay flechas ni bullets que mostrar. */
body.vh-system.template-product .section-products-related :is(.vh-pdp-related-control,.swiper-pagination){display:none!important}

/* 2) Menos alto: la foto baja de 210px y el bloque de texto se ajusta. */
body.vh-system.template-product .section-products-related{padding:40px 0 44px!important}
body.vh-system.template-product .section-products-related .vh-pdp-related-title{margin:0 0 20px!important}
body.vh-system.template-product .section-products-related .item-image{height:158px!important}
body.vh-system.template-product .section-products-related .item-image :is(img,.vh-related-floating-media img){padding:10px!important}
body.vh-system.template-product .section-products-related .item-description{padding:12px 13px 6px!important}
body.vh-system.template-product .section-products-related .vanhaus-grid-name-row{min-height:0!important;margin-bottom:5px!important}
body.vh-system.template-product .section-products-related .vanhaus-grid-name-row .item-name{font-size:15px!important}
body.vh-system.template-product .section-products-related .vh-related-benefit{min-height:0;margin:0 0 8px;-webkit-line-clamp:2}
body.vh-system.template-product .section-products-related .item-price{font-size:21px!important}
body.vh-system.template-product .section-products-related .item-actions{padding:8px 13px 12px!important}

/* 1) La card muestra sólo imagen, nombre, beneficio + dato técnico, precio y CTA. */
body.vh-system.template-product .section-products-related :is(.vanhaus-grid-category,.item-installments,.vanhaus-grid-benefit,.js-payment-discount-price,.js-subscription-message){display:none!important}

/* 3) "Ver producto" es secundario: nunca el mismo peso que "Agregar al carrito". */
body.vh-system.template-product .section-products-related .item-actions .btn-primary{
  min-height:40px;background:transparent!important;border:1px solid var(--vh-cta-line)!important;
  color:var(--vh-cta-ghost-ink)!important;font-weight:700}
@media(hover:hover) and (pointer:fine){
  body.vh-system.template-product .section-products-related .item-actions .btn-primary:hover{
    background:var(--vh-cta-line)!important;border-color:var(--vh-cta-line)!important;color:var(--vh-cta-ink)!important}
}

@media(max-width:767px){
  body.vh-system.template-product .section-products-related .swiper-wrapper{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:0 20px}
  body.vh-system.template-product .section-products-related .item-image{height:132px!important}
  body.vh-system.template-product .section-products-related .item-description{padding:11px 10px 5px!important}
  body.vh-system.template-product .section-products-related .vanhaus-grid-name-row .item-name{font-size:14px!important}
  body.vh-system.template-product .section-products-related .item-price{font-size:19px!important}
  body.vh-system.template-product .section-products-related .item-actions{padding:7px 10px 10px!important}
}
/* Dos columnas dejan de ser legibles por debajo de ~360px. */
@media(max-width:359px){
  body.vh-system.template-product .section-products-related .swiper-wrapper{grid-template-columns:1fr}
}

/* PDP — el rating es una linea clickeable de 19px de alto: muy poco blanco para
   el dedo. Se extiende SOLO el area de toque con un pseudo-elemento absoluto,
   que no pinta nada y no participa del flujo: tamano, posicion, spacing y
   apariencia del rating quedan exactamente igual. */
body.vh-system .vh-product .vh-pdp-rating{position:relative}
body.vh-system .vh-product .vh-pdp-rating::after{
  content:"";position:absolute;left:0;right:0;top:50%;
  height:44px;transform:translateY(-50%);background:transparent}

/* Vanhaus palette: editorial champagne, functional ice blue.
   Scoped to custom Home/PDP and product cards; external brand colors untouched. */
.vh-system .vh-home :is(.vh-accent-0,.vh-accent-2),
.vh-system .vh-product:is(.vh-accent-0,.vh-accent-2){--vh-accent:#7D92BC}
.vh-system .vh-home .vh-accent-1,
.vh-system .vh-product.vh-accent-1{--vh-accent:#7D92BC}
.vh-system:is(.template-home,.template-category,.template-search,.template-product) .js-item-product[data-vh-surface]{--vh-accent:#7D92BC}
.vh-system:is(.template-home,.template-category,.template-search,.template-product) .js-item-product:is(.vh-accent-0,.vh-accent-2) :is(.vanhaus-grid-category,.vanhaus-grid-label,.vanhaus-grid-sep){--vh-accent:#7D92BC}

/* Controls override category inheritance without changing their geometry/effects. */
.vh-system :is(.vh-home,.vh-product) :is(.vh-btn,.vh-action,.vh-stock,.vh-native-gallery,.vh-gal-nav,.vh-scroll-cue,.vh-info-accordion,.vh-media-link,.btn-variant,.vh-pdp-rating),
.vh-system .vh-product #product_form [data-store=product-buy-button]{--vh-accent:#7D92BC}
.vh-system :is(.vh-home,.vh-product) :is(a,button,input,select,summary):focus-visible{outline-color:#A2BEFE!important}
.vh-system :is(.vh-home,.vh-product) .vh-stock[data-available=true]::before{background:#7D92BC}
.vh-system .vh-product .vh-pdp-purchase-signal svg{fill:#7D92BC}

/* Premium hover tint on editorial specs; existing transitions remain in place. */
@media(hover:hover) and (pointer:fine){
  .vh-system .vh-product:is(.vh-accent-0,.vh-accent-2) .vh-product-story .vh-spec:hover{--vh-accent:#7D92BC}
}

/* ==========================================================================
   PDP — profundidad por capas. Solo fondos, transparencias, bordes y halos,
   todo derivado de #000000 / #7D92BC / #A2BEFE / #EFF1F3.
   Cada zona usa una intensidad distinta para que el scroll tenga ritmo:
   superior negro -> destacados 6% -> acordeones negro con cards -> reseñas
   4.5% -> relacionados 8% que se apaga hacia negro.
   Acotado a .template-product: Home y catálogo no se tocan.
   ========================================================================== */

/* --- 2. "Lo más destacado": cards con mas presencia ---
   La bruma radial de fondo (a 22% 0%, pegada arriba) se saco: se veia como
   una luz/degrade raro arrancando justo encima del titulo. */
/* La superficie de la card sube de 8% a 14% y el borde de 28% a 40%: se
   despega del fondo sin volverse una card azul solida. */
body.vh-system.template-product .vh-product-story .vh-spec{
  background:linear-gradient(140deg,color-mix(in srgb,var(--vh-detail-accent,var(--vh-accent)) 14%,#15171a),#0e0f11 78%);
  border-color:color-mix(in srgb,var(--vh-detail-accent,var(--vh-accent)) 40%,#2b2f35);
  box-shadow:inset 0 1px rgba(239,241,243,.06),0 10px 26px rgba(0,0,0,.42)}

/* --- 3. Acordeones: grafito azulado, borde discreto, hover mas luminoso --- */
body.vh-system.template-product .vh-info-accordion{
  background:color-mix(in srgb,#7D92BC 6%,#111316);
  border-color:color-mix(in srgb,#7D92BC 26%,#2c3138);
  box-shadow:inset 0 1px rgba(239,241,243,.05)}
@media(hover:hover) and (pointer:fine){
  body.vh-system.template-product .vh-info-accordion:hover{
    background:color-mix(in srgb,#7D92BC 9%,#131519);
    border-color:color-mix(in srgb,#7D92BC 38%,#2c3138)}
}
body.vh-system.template-product .vh-info-accordion[open]{
  background:color-mix(in srgb,#7D92BC 8%,#121417);
  border-color:color-mix(in srgb,#A2BEFE 34%,#2c3138)}
body.vh-system.template-product .vh-info-accordion summary:focus-visible{
  background:color-mix(in srgb,#A2BEFE 10%,transparent)}

/* --- 4. Reseñas: bruma azul muy tenue, sin rectangulo. Las cards blancas
       quedan exactamente como estan. --- */
body.vh-system.template-product .vh-product-reviews{
  background-image:
    radial-gradient(ellipse 88% 34% at 50% 6%,rgba(125,146,188,.055),transparent 74%),
    radial-gradient(ellipse 54% 30% at 12% 78%,rgba(162,190,254,.03),transparent 78%);
  background-repeat:no-repeat;
  border-top-color:color-mix(in srgb,#7D92BC 22%,var(--vh-border))}

/* --- 5. Productos similares: halo que se apaga hacia negro y cards con mas
       contraste tonal. Imagen, textos, precio y CTA sin cambios. --- */
body.vh-system.template-product .section-products-related{
  background:
    radial-gradient(ellipse 96% 62% at 50% 26%,rgba(125,146,188,.075),transparent 72%),
    #000000!important;
  border-top-color:color-mix(in srgb,#7D92BC 18%,var(--vh-border))}
body.vh-system.template-product .section-products-related .item{
  background:linear-gradient(160deg,rgba(125,146,188,.09),rgba(0,0,0,0) 62%),#131518!important;
  border-color:color-mix(in srgb,#7D92BC 24%,#2b2e34)!important;
  box-shadow:inset 0 1px rgba(239,241,243,.05)}
@media(hover:hover) and (pointer:fine){
  body.vh-system.template-product .section-products-related .item:hover{
    border-color:color-mix(in srgb,#A2BEFE 42%,#2b2e34)!important}
}

/* Catalog final overrides: this file loads after vanhaus-catalog.css. */
body.vh-system.template-category .category-controls svg,
body.vh-system.template-category .category-controls svg *,
body.vh-system.template-search .category-controls svg,
body.vh-system.template-search .category-controls svg *{
  color:var(--vh-text)!important;fill:var(--vh-text)!important;stroke:var(--vh-text)!important;
}
body.vh-system.template-category .category-body .item,
body.vh-system .vh-related-catalog .item{position:relative!important}
body.vh-system.template-category .category-body .vanhaus-grid-use,
body.vh-system .vh-related-catalog .vanhaus-grid-use{
  position:absolute!important;top:12px!important;right:12px!important;left:auto!important;bottom:auto!important;
  z-index:20!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-width:0!important;max-width:calc(100% - 24px)!important;min-height:27px!important;
  margin:0!important;padding:0 10px!important;border:0!important;border-radius:7px!important;
  color:#fff!important;font:800 10px/1 var(--vh-font-ui)!important;letter-spacing:.09em!important;
  text-align:center!important;white-space:nowrap!important;box-shadow:0 10px 24px rgba(0,0,0,.35)!important;
  pointer-events:none!important;transform:none!important;
}
body.vh-system.template-category .category-body :is(.vanhaus-grid-use-gamer,.vanhaus-grid-use-sport,.vanhaus-grid-use-anc,.vanhaus-grid-use-daily,.vanhaus-grid-use-health,.vanhaus-grid-use-hifi),
body.vh-system .vh-related-catalog :is(.vanhaus-grid-use-gamer,.vanhaus-grid-use-sport,.vanhaus-grid-use-anc,.vanhaus-grid-use-daily,.vanhaus-grid-use-health,.vanhaus-grid-use-hifi){background:#1b1e23!important;border:1px solid #414752!important;color:#e6eaf0!important}
body.vh-system.template-category .category-body .vanhaus-grid-use-inline,
body.vh-system .vh-related-catalog .vanhaus-grid-use-inline{display:none!important}
body.vh-system.template-category .category-body .item-price,
body.vh-system .vh-related-catalog .item-price{font-size:24px!important;letter-spacing:-.03em!important;line-height:1.05!important}
body.vh-system.template-category .category-body .item-actions .btn,
body.vh-system.template-category .category-body .item-actions .btn-primary,
body.vh-system .vh-related-catalog .item-actions .btn,
body.vh-system .vh-related-catalog .item-actions .btn-primary{
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-height:42px!important;height:42px!important;padding:0 14px!important;margin-bottom:0!important;
  line-height:1!important;text-align:center!important;
}
@media(max-width:767px){
  body.vh-system.template-category .category-body .vanhaus-grid-use,
  body.vh-system.template-category .vanhaus-grid-use,
body.vh-system .vh-related-catalog .vanhaus-grid-use,
body.vh-system .vh-related-catalog .vanhaus-grid-use{display:none!important}
  body.vh-system.template-category .category-body .vanhaus-grid-category-row,
body.vh-system .vh-related-catalog .vanhaus-grid-category-row{
    display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
    min-width:0!important;margin:0 0 4px!important;
  }
  body.vh-system.template-category .category-body .vanhaus-grid-category-row .vanhaus-grid-category,
body.vh-system .vh-related-catalog .vanhaus-grid-category-row .vanhaus-grid-category{margin:0!important}
  body.vh-system.template-category .category-body .vanhaus-grid-use-inline,
  body.vh-system.template-category .vanhaus-grid-use-inline,
body.vh-system .vh-related-catalog .vanhaus-grid-use-inline,
body.vh-system .vh-related-catalog .vanhaus-grid-use-inline{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    min-height:16px!important;padding:0 5px!important;border-radius:4px!important;color:#fff!important;
    font:700 7.5px/1 var(--vh-font-ui)!important;letter-spacing:.045em!important;text-transform:uppercase!important;
    white-space:nowrap!important;box-shadow:none!important;transform:none!important;pointer-events:none!important;
  }
  /* product-use-tag.tpl genera el modificador sobre la clase base recibida.
     Usar el modificador inline evita depender del style excepcional de HI-FI. */
  body.vh-system.template-category :is(.vanhaus-grid-use-inline-gamer,.vanhaus-grid-use-inline-sport,.vanhaus-grid-use-inline-anc,.vanhaus-grid-use-inline-daily,.vanhaus-grid-use-inline-health,.vanhaus-grid-use-inline-hifi),
body.vh-system .vh-related-catalog :is(.vanhaus-grid-use-inline-gamer,.vanhaus-grid-use-inline-sport,.vanhaus-grid-use-inline-anc,.vanhaus-grid-use-inline-daily,.vanhaus-grid-use-inline-health,.vanhaus-grid-use-inline-hifi){background:#1b1e23!important;border-color:#414752!important;color:#e6eaf0!important}
  body.vh-system.template-category .category-body .item-price,
body.vh-system .vh-related-catalog .item-price{font-size:clamp(18px,4.8vw,22px)!important}
  body.vh-system.template-category .category-body .item-actions .btn,
  body.vh-system.template-category .category-body .item-actions .btn-primary,
body.vh-system .vh-related-catalog .item-actions .btn,
body.vh-system .vh-related-catalog .item-actions .btn-primary{min-height:40px!important;height:40px!important;padding:0 8px!important}
}

/* Purchase reassurance: one shared, non-interactive component. */
body.vh-system.template-product .vh-trust-cards{container-type:inline-size;margin:16px 0 4px}
body.vh-system.template-product .vh-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:8px}
body.vh-system.template-product .vh-trust-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:116px;padding:12px 10px;text-align:center;border:1px solid color-mix(in srgb,var(--vh-border) 55%,transparent);border-radius:calc(var(--vh-radius)/2);background:var(--vh-surface)}
body.vh-system.template-product .vh-trust-card>svg{width:28px;height:28px;flex:0 0 28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:var(--vh-accent)}
body.vh-system.template-product .vh-trust-card>div{min-width:0;width:100%}
body.vh-system.template-product .vh-trust-card strong{display:block;color:var(--vh-text);font-size:13px;font-weight:600;line-height:1.3;text-transform:none;letter-spacing:normal}
body.vh-system.template-product .vh-trust-card span{display:block;margin-top:3px;color:var(--vh-muted);font-size:11px;font-weight:400;line-height:1.35;text-transform:none;letter-spacing:normal}
@container(min-width:640px){body.vh-system.template-product .vh-trust-grid{grid-template-columns:repeat(4,minmax(0,1fr))}body.vh-system.template-product .vh-trust-card{padding-inline:8px}body.vh-system.template-product .vh-trust-card strong{font-size:12px}}
@media(max-width:319px){body.vh-system.template-product .vh-trust-grid{grid-template-columns:1fr}}

/* PDP final polish: information accordions and review carousel. */








body.vh-system.template-product .vh-information{padding:34px 0 24px!important}
body.vh-system.template-product .vh-information-ready.vh-product-description{background:transparent!important}
body.vh-system.template-product .vh-info-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)!important;align-items:start!important;gap:36px 44px!important}
body.vh-system.template-product .vh-info-accordion{border-radius:16px!important;background:color-mix(in srgb,#7D92BC 8%,#111316)!important}
body.vh-system.template-product .vh-info-accordion>summary{font-size:16px!important;font-weight:850!important;color:#fff!important}
body.vh-system.template-product .vh-info-faq>summary{justify-content:center!important;text-align:center!important}
body.vh-system.template-product .vh-info-body{padding:0!important}
body.vh-system.template-product .vh-info-faq .vh-info-body{display:block!important}
/* El separador ahora es el propio border-bottom del summary (inline-flex,
   ancho = texto + icono), no una linea de ancho fijo aparte: asi el "+"
   siempre cae justo al final del separador de SU pregunta, en vez de quedar
   pegado al borde derecho de toda la fila mientras la linea corta terminaba
   mucho antes. Sin linea antes de la primera pregunta ni despues de la
   ultima (border-bottom normal, no hay nada que sacar ahi). */
body.vh-system.template-product .vh-faq-item{
  position:relative;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important;
}
body.vh-system.template-product .vh-faq-item>summary{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;
  max-width:100%!important;
  padding:16px 0 10px!important;margin-bottom:6px!important;
  border-bottom:1px solid #343941!important;
  color:#fff!important;font-size:14px!important;font-weight:650!important;line-height:1.4!important;cursor:pointer!important;
}
body.vh-system.template-product .vh-faq-item:first-child>summary{padding-top:0!important}
body.vh-system.template-product .vh-faq-item>summary::-webkit-details-marker{display:none!important}
body.vh-system.template-product .vh-faq-item>summary::after{content:'+';flex:0 0 auto;color:#A2BEFE!important;font-size:18px!important;font-weight:700!important}
body.vh-system.template-product .vh-faq-item[open]>summary::after{content:'-'}
body.vh-system.template-product .vh-faq-answer{padding:0 0 17px!important}
body.vh-system.template-product .vh-faq-answer,
body.vh-system.template-product .vh-faq-answer :is(p,li,span,strong){color:#d7dce4!important;font-size:13px!important;font-weight:400!important;line-height:1.55!important}
body.vh-system.template-product .vh-product-reviews .vh-reviews-heading{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:24px!important;margin-bottom:24px!important;
}
body.vh-system.template-product .vh-product-reviews .vh-reviews-heading h2{margin:0!important;text-align:left!important}
body.vh-system.template-product .vh-product-reviews .vh-reviews-score{
  display:grid!important;grid-template-columns:auto auto!important;grid-template-areas:"stars score" "total total"!important;
  align-items:center!important;justify-content:center!important;gap:7px 12px!important;text-align:center!important;
}
body.vh-system.template-product .vh-product-reviews .vh-reviews-stars{grid-area:stars;font-size:26px!important}
body.vh-system.template-product .vh-product-reviews .vh-reviews-score strong{grid-area:score;font-size:28px!important;color:#fff!important}
body.vh-system.template-product .vh-product-reviews .vh-reviews-total{grid-area:total;margin:0!important;color:var(--vh-muted)!important;font-size:13px!important;text-align:center!important}
body.vh-system.template-product .vh-reviews-carousel{position:relative;margin-top:18px;padding:0 58px}
body.vh-system.template-product .vh-reviews-list{
  display:block!important;gap:0!important;margin-top:0!important;overflow:hidden!important;overscroll-behavior-x:contain!important;
  scrollbar-width:none!important;padding:2px 0 18px!important;touch-action:pan-y!important;
}
body.vh-system.template-product .vh-reviews-list::-webkit-scrollbar{display:none}
body.vh-system.template-product .vh-reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/3);grid-template-columns:none;gap:12px;will-change:transform;transition:transform .32s ease}
body.vh-system.template-product .vh-review-card{min-height:210px}
body.vh-system.template-product .vh-review-nav{
  position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;
  border:1px solid color-mix(in srgb,#A2BEFE 48%,#3b414b);border-radius:999px;background:#171a1f;color:#fff!important;
  font:800 20px/1 var(--vh-font-ui);box-shadow:0 12px 28px rgba(0,0,0,.34);transform:translateY(-50%);cursor:pointer;
}
body.vh-system.template-product .vh-review-nav:disabled{opacity:.35;cursor:not-allowed}
body.vh-system.template-product .vh-review-nav-prev{left:0}
body.vh-system.template-product .vh-review-nav-next{right:0}
body.vh-system.template-product .vh-review-dots{display:none}
@media(max-width:767px){


  body.vh-system.template-product .vh-info-grid{grid-template-columns:1fr!important;gap:30px!important}
  body.vh-system.template-product .vh-info-faq{order:2}body.vh-system.template-product .vh-info-specifications{order:3}
  body.vh-system.template-product .vh-info-accordion>summary{justify-content:center!important;text-align:center!important}
  body.vh-system.template-product .vh-product-reviews .vh-reviews-heading{grid-template-columns:1fr!important;gap:14px!important}
  body.vh-system.template-product .vh-product-reviews .vh-reviews-score{
    grid-template-columns:auto auto auto!important;grid-template-areas:"stars score total"!important;
    justify-content:start!important;text-align:left!important;gap:6px 8px!important;
  }
  body.vh-system.template-product .vh-product-reviews .vh-reviews-stars{font-size:21px!important}
  body.vh-system.template-product .vh-product-reviews .vh-reviews-score strong{font-size:22px!important}
  body.vh-system.template-product .vh-product-reviews .vh-reviews-total{
    align-self:center!important;text-align:left!important;font-size:12px!important;white-space:nowrap!important;
  }
  {# Mobile: flechas circulares afuera, patron swipe + dots. El drag/swipe ya
     existia via pointerdown/pointermove/pointerup (ver vanhaus-interactions.js);
     lo que faltaba era sacar las flechas (se superponian a la card) y dar un
     indicador de posicion. #}
  body.vh-system.template-product .vh-reviews-carousel{padding:0}
  body.vh-system.template-product .vh-reviews-track{grid-auto-columns:100%}
  body.vh-system.template-product .vh-review-nav{display:none!important}
  body.vh-system.template-product .vh-review-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
  body.vh-system.template-product .vh-review-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#3c4248;cursor:pointer;transition:width .18s ease,background-color .18s ease}
  body.vh-system.template-product .vh-review-dot.is-active{width:20px;border-radius:4px;background:var(--vh-accent)}
}
/* Home popup: captura de mail, solo texto.
   Sin imagen ni link — el bloque visual salio del template, asi que queda una
   sola columna. La card crece con su contenido y, como ultimo recurso, hace
   scroll propio: antes .modal-centered-small le imponia un .modal-body de
   400px con overflow:hidden y el campo de email quedaba recortado afuera del
   modal, imposible de completar. */
/* Refuerzo sincrono de posicion/z-index/scrim: .modal y .modal-overlay base
   viven en style-async.scss.tpl, que carga con media="print" (async, ver
   layout.tpl). Si el popup dispara antes de que esa hoja swapee a
   media="all", el modal no tiene position:fixed ni z-index y el overlay no
   tiene fondo — queda pegado en el flujo del documento, sin scrim, tapado por
   el titulo y los botones de compra. Mismo bug ya resuelto para #modal-cart
   mas abajo; replicado aca para el popup de newsletter. */
body.vh-system #home-modal.vanhaus-popup-modal,
body.vh-system #home-modal.modal-vanhaus-popup-modal{
  position:fixed!important;z-index:20005!important;
  width:min(430px,92vw)!important;max-height:88vh!important;overflow:auto!important;
  padding:0!important;
  background:#08090b!important;border:1px solid rgba(162,190,254,.34)!important;border-radius:22px!important;
  box-shadow:0 28px 90px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.06)!important;
}
body.vh-system .js-modal-overlay[data-modal-id="#home-modal"]{
  position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;
  z-index:20004!important;background:rgba(4,5,7,.72)!important;
}
/* Mismo problema de carga async con el centrado (top/left/transform vive en
   .modal-bottom.modal-show.modal-centered-small, tambien en el bundle async):
   se fija aca para todos los anchos, no solo mobile. */
body.vh-system #home-modal.vanhaus-popup-modal.modal-show,
body.vh-system #home-modal.modal-vanhaus-popup-modal.modal-show{
  top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;
  transform:translate(-50%,-50%)!important;
}
body.vh-system #home-modal .modal-body{padding:0!important;max-height:none!important;min-height:0!important}
body.vh-system #home-modal .modal-close.no-header{
  top:14px!important;right:14px!important;z-index:5!important;width:34px!important;height:34px!important;
  display:grid!important;place-items:center!important;border:1px solid rgba(239,241,243,.18)!important;
  border-radius:999px!important;background:rgba(8,9,11,.72)!important;color:#fff!important;
}
body.vh-system #home-modal .modal-close-icon{width:12px!important;height:12px!important;color:#fff!important;fill:currentColor!important}
body.vh-system #home-modal .vh-popup{
  display:block;background:linear-gradient(160deg,#0a0c10 0%,#11141a 55%,#08090b 100%);
}
body.vh-system #home-modal .vh-popup-content{
  display:flex;flex-direction:column;align-items:center;min-width:0;
  padding:44px 30px 34px;text-align:center;color:#eff1f3;
}
body.vh-system #home-modal .vh-popup-kicker{
  margin-bottom:16px;padding:7px 12px;border:1px solid rgba(162,190,254,.3);border-radius:999px;
  color:#a2befe;font:700 10px/1 "Open Sans",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;
}
body.vh-system #home-modal .vh-popup-content h3{
  margin:0 0 12px!important;color:#fff!important;
  font:700 clamp(26px,5.4vw,34px)/1.1 "Sora",Arial,sans-serif!important;
  letter-spacing:-.03em!important;text-align:center!important;
}
body.vh-system #home-modal .vh-popup-content p{
  max-width:330px;margin:0 0 20px;color:#c8ced8;font:400 14.5px/1.5 "Open Sans",Arial,sans-serif;
}
body.vh-system #home-modal .vh-popup-benefits{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px;
}
body.vh-system #home-modal .vh-popup-benefits span{
  display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;
  background:rgba(162,190,254,.1);border:1px solid rgba(162,190,254,.18);color:#e7ebf2;font:600 11px/1 "Open Sans",Arial,sans-serif;
}
body.vh-system #home-modal .vh-popup-form,
body.vh-system #home-modal .vh-popup-fields{width:100%;margin:0!important}
body.vh-system #home-modal .vh-popup-fields{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;
}
body.vh-system #home-modal .vh-popup-fields .form-group{margin:0!important}
body.vh-system #home-modal .vh-popup-fields .form-control,
body.vh-system #home-modal .vh-popup-fields input[type="email"]{
  width:100%!important;min-height:48px!important;margin:0!important;border-radius:10px!important;
  border:1px solid rgba(239,241,243,.22)!important;background:#11151b!important;color:#fff!important;
  font:500 14px/1 "Open Sans",Arial,sans-serif!important;box-shadow:none!important;text-align:center!important;
}
body.vh-system #home-modal .vh-popup-fields .form-control::placeholder{color:#7e8794!important}
/* El tema base define .newsletter form .newsletter-btn como un icono absoluto
   de 30px con text-indent:-99999px, que manda la etiqueta fuera de pantalla.
   Aca el boton vuelve al flujo, ocupa el ancho completo y muestra su texto. */
body.vh-system #home-modal .vh-popup-fields .newsletter-btn{
  position:static!important;top:auto!important;right:auto!important;
  width:100%!important;height:auto!important;min-height:48px!important;text-indent:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  margin:0!important;padding:0 18px!important;border:0!important;border-radius:10px!important;
  background:#a2befe!important;color:#040506!important;font:800 12px/1 "Open Sans",Arial,sans-serif!important;
  letter-spacing:.08em!important;text-transform:uppercase!important;white-space:nowrap!important;
}
body.vh-system #home-modal .vh-popup-fields .newsletter-btn svg{width:13px!important;height:13px!important;fill:currentColor!important}
body.vh-system #home-modal .vh-popup-form .alert{margin:12px 0 0!important;border-radius:10px!important;font:600 13px/1.4 "Open Sans",Arial,sans-serif!important}
/* Centrado en celular. El tema base solo corrige la posicion desde 768px:
   .modal-centered-md.modal-show{left:initial;transform:none} deja el popup
   pegado al borde izquierdo en pantallas chicas. Como antes nunca se mostraba
   en celular, no se notaba. Se conserva la entrada deslizando desde abajo:
   fuera de modal-show sigue en top:100%. */
@media(max-width:767px){
  body.vh-system #home-modal.vanhaus-popup-modal,
  body.vh-system #home-modal.modal-vanhaus-popup-modal{
    width:min(430px,92vw)!important;border-radius:20px!important;
    left:50%!important;right:auto!important;transform:translateX(-50%)!important;
  }
  body.vh-system #home-modal.vanhaus-popup-modal.modal-show,
  body.vh-system #home-modal.modal-vanhaus-popup-modal.modal-show{
    top:50%!important;bottom:auto!important;height:auto!important;
    transform:translate(-50%,-50%)!important;
  }
  body.vh-system #home-modal .vh-popup-content{padding:38px 22px 28px}
  body.vh-system #home-modal .vh-popup-content p{font-size:14px}
}

/* Registro único de color para la etiqueta compartida. Home, catálogo y PDP
   deciden solamente tamaño/posición; la identidad cromática vive acá. */
body.vh-system .vh-product-use-tag{background:var(--vh-product-use-color,#64748b)!important;border-color:var(--vh-product-use-color,#64748b)!important;color:#fff!important}
body.vh-system .vh-product-use-tag-gamer{--vh-product-use-color:#7c3aed}
body.vh-system .vh-product-use-tag-sport{--vh-product-use-color:#f97316}
body.vh-system .vh-product-use-tag-anc{--vh-product-use-color:#2563eb}
body.vh-system .vh-product-use-tag-daily{--vh-product-use-color:#64748b}
body.vh-system .vh-product-use-tag-health{--vh-product-use-color:#14b8a6}
body.vh-system .vh-product-use-tag-hifi{--vh-product-use-color:#d31f2f}

/* El registro cromático anterior es compartido por todo el sitio. En el PLP,
   ambas variantes del componente se neutralizan después de ese registro para
   que la cascada no vuelva a aplicar el color semántico de cada uso. */
body.vh-system.template-category .category-body .vh-product-use-tag.vanhaus-grid-use,
body.vh-system.template-category .category-body .vh-product-use-tag.vanhaus-grid-use-inline,
ambas variantes del componente se neutralizan después de ese registro para
   que la cascada no vuelva a aplicar el color semántico de cada uso. */
body.vh-system .vh-related-catalog .vh-product-use-tag.vanhaus-grid-use,
body.vh-system .vh-related-catalog .vh-product-use-tag.vanhaus-grid-use-inline{
  --vh-product-use-color:#1b1e23!important;
  background:rgba(27,30,35,.9)!important;
  border-color:#414752!important;
  color:#e6eaf0!important;
  box-shadow:none!important;
}

/* PDP information architecture: the Tiendanube description is still the
   source. The existing organiser separates its authored sections; only FAQ
   retains disclosure controls. */
body.vh-system.template-product .vh-information{padding:42px 0 64px}
body.vh-system.template-product .vh-information-heading{margin:0 0 26px}
body.vh-system.template-product .vh-information-heading .vh-kicker{margin:0 0 9px}
body.vh-system.template-product .vh-information-heading h2{margin:0;color:var(--vh-text);font-size:clamp(30px,4vw,52px);letter-spacing:-.045em}
body.vh-system.template-product .vh-info-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:36px 44px;align-items:start}
body.vh-system.template-product .vh-info-description,
body.vh-system.template-product .vh-info-faq,
body.vh-system.template-product .vh-info-specifications{min-width:0}
body.vh-system.template-product .vh-info-specifications{grid-column:1/-1;padding-top:30px;border-top:1px solid var(--vh-border)}
body.vh-system.template-product .vh-info-title{margin:0 0 16px;color:var(--vh-text);font-size:18px;font-weight:700;letter-spacing:-.02em}
body.vh-system.template-product .vh-info-body{padding:0;color:#cdd1d8;overflow-wrap:anywhere;font-size:15px;line-height:1.75;text-align:left}
body.vh-system.template-product .vh-info-body :is(p,li){color:inherit;font-size:inherit;line-height:inherit;text-align:left!important}
body.vh-system.template-product .vh-info-body :is(ul,ol){padding-left:1.25em}
body.vh-system.template-product .vh-info-body img{max-width:100%;height:auto}
body.vh-system.template-product .vh-faq-item{margin:0;border:0;border-top:1px solid #343941;background:transparent}
body.vh-system.template-product .vh-faq-item:last-child{border-bottom:1px solid #343941}
body.vh-system.template-product .vh-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;cursor:pointer;list-style:none;color:#eef1f3;font-size:14px;font-weight:650;line-height:1.4}
body.vh-system.template-product .vh-faq-item summary::-webkit-details-marker{display:none}
body.vh-system.template-product .vh-faq-item summary::after{content:'+';flex:0 0 auto;color:#b6bbc5;font-size:20px;font-weight:300}
body.vh-system.template-product .vh-faq-item[open] summary::after{content:'−'}
body.vh-system.template-product .vh-faq-answer{padding:0 0 17px;color:var(--vh-muted);font-size:14px;line-height:1.65}
body.vh-system.template-product .vh-faq-item summary:focus-visible{outline:2px solid var(--vh-accent);outline-offset:3px}
body.vh-system.template-product .vh-info-specifications .vh-info-body :is(table,dl){width:100%;margin:0;border-top:1px solid #343941}
body.vh-system.template-product .vh-info-specifications .vh-info-body table{border-collapse:collapse;table-layout:auto}
body.vh-system.template-product .vh-info-specifications .vh-info-body :is(th,td){padding:14px 0;border:0;border-bottom:1px solid #343941;background:transparent;color:#cdd1d8;text-align:left;vertical-align:top;font-size:14px;line-height:1.5}
body.vh-system.template-product .vh-info-specifications .vh-info-body :is(th,td:first-child){width:32%;padding-right:26px;color:#f0f2f4;font-weight:650}
body.vh-system.template-product .vh-info-specifications .vh-info-body dl{display:grid;grid-template-columns:minmax(150px,32%) 1fr}
body.vh-system.template-product .vh-info-specifications .vh-info-body :is(dt,dd){margin:0;padding:14px 0;border-bottom:1px solid #343941}
body.vh-system.template-product .vh-info-specifications .vh-info-body dt{padding-right:26px;color:#f0f2f4;font-weight:650}

/* Compact product information navigation: one active panel, not three cards. */
body.vh-system.template-product .vh-info-grid{display:block!important}
body.vh-system.template-product .vh-info-tabs{display:flex;align-items:flex-end;gap:28px;overflow-x:auto;border-bottom:1px solid #343941;scrollbar-width:none}
body.vh-system.template-product .vh-info-tabs::-webkit-scrollbar{display:none}
body.vh-system.template-product .vh-info-tab{flex:0 0 auto;padding:0 0 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:#858b95;font:600 14px/1.25 var(--vh-font-ui);white-space:nowrap;cursor:pointer}
body.vh-system.template-product .vh-info-tab.is-active,
body.vh-system.template-product .vh-info-tab[aria-selected="true"]{border-bottom-color:var(--vh-accent);color:#eef1f3}
body.vh-system.template-product .vh-info-tab:focus-visible{outline:2px solid var(--vh-accent);outline-offset:3px}
body.vh-system.template-product .vh-info-panels{padding:24px 0 0}
body.vh-system.template-product .vh-info-panel[hidden]{display:none!important}
body.vh-system.template-product .vh-info-panel .vh-info-body{padding:0!important}
body.vh-system.template-product .vh-info-panel.vh-info-specifications{padding:0;border:0}

@media(max-width:767px){
  body.vh-system.template-product .vh-information{padding:36px 0 48px}
  body.vh-system.template-product .vh-information-heading{margin-bottom:22px}
  body.vh-system.template-product .vh-information-heading h2{font-size:clamp(28px,8vw,38px)}
  body.vh-system.template-product .vh-info-grid{grid-template-columns:1fr;gap:30px}
  body.vh-system.template-product .vh-info-specifications{grid-column:auto;padding-top:26px}
  body.vh-system.template-product .vh-info-body{font-size:14px;line-height:1.7}
  body.vh-system.template-product .vh-info-specifications .vh-info-body table{display:block}
  body.vh-system.template-product .vh-info-specifications .vh-info-body :is(tbody,tr){display:block}
  body.vh-system.template-product .vh-info-specifications .vh-info-body tr{padding:15px 0;border-bottom:1px solid #343941}
  body.vh-system.template-product .vh-info-specifications .vh-info-body :is(th,td){display:block;width:auto!important;padding:0;border:0;font-size:14px;line-height:1.55}
  body.vh-system.template-product .vh-info-specifications .vh-info-body th{margin-bottom:5px;color:#f0f2f4;font-size:11px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  body.vh-system.template-product .vh-info-specifications .vh-info-body dl{display:block;border-top:1px solid #343941}
  body.vh-system.template-product .vh-info-specifications .vh-info-body dt{padding:15px 0 5px;border:0;color:#f0f2f4;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  body.vh-system.template-product .vh-info-specifications .vh-info-body dd{padding:0 0 15px;border-bottom:1px solid #343941}
  {# El subrayado es el border-bottom del boton, no un indicador aparte: con
     flex:1 1 0 + text-align:center cada tab ocupa 1/3 del ancho pero el texto
     queda centrado adentro, asi que el borde (ancho completo del boton) no
     coincide con el texto — se veia corrido, mas notorio en "Especificaciones".
     Vuelve a ancho natural + scroll horizontal, igual que desktop. #}
  body.vh-system.template-product .vh-info-tabs{justify-content:flex-start;gap:20px;margin:0;padding:0}
  body.vh-system.template-product .vh-info-tab{flex:0 0 auto;padding-bottom:11px;font-size:13px;text-align:left}
  body.vh-system.template-product .vh-info-panels{padding-top:20px}
}

/* Shared sale percentage. A neon green (without the previous yellow cast)
   reads instantly over the black interface on Home, catalog and PDP. */
body.vh-system .vh-discount-shell{line-height:1;vertical-align:middle}
body.vh-system .vh-discount-badge{
  display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:32px;padding:0 10px;
  border:1px solid #a0f89f;border-radius:999px!important;
  background:linear-gradient(135deg,#68f060 0%,#32d75b 58%,#18b94d 100%);
  color:#090b06!important;font-family:var(--vh-font-ui);font-size:9px;font-weight:900;line-height:1;
  letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;
  box-shadow:0 9px 24px rgba(50,215,91,.1),inset 0 1px 0 rgba(255,255,255,.45);
}
body.vh-system .vh-discount-badge strong{display:inline-flex;align-items:center;color:inherit!important;font-size:16px;font-weight:900;line-height:1;letter-spacing:-.04em}
body.vh-system .vh-discount-badge>span{display:inline-flex;align-items:center;line-height:1}
body.vh-system .vh-home-price-line{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
body.vh-system .vh-home-price-stack{display:grid;justify-items:start;gap:3px}
body.vh-system .vh-home-discount{margin-bottom:5px}
body.vh-system .vh-pdp-price-row{display:flex!important;width:100%;align-items:center;flex-wrap:wrap;gap:12px}
body.vh-system .vh-pdp-discount{flex:0 0 auto;margin-left:2px}
body.vh-system .vh-catalog-discount-inline{display:inline-flex;vertical-align:middle;margin-left:8px}
/* The custom percentage replaces only the old offer bubble. Stock, shipping
   and manually configured promotion labels remain native and visible. */
body.vh-system.template-category .item-image .labels .js-offer-label,
body.vh-system.template-search .item-image .labels .js-offer-label,
body.vh-system.template-product .product-image-container .labels .js-offer-label{display:none!important}
body.vh-system.template-product .section-products-related .item-image .labels .js-offer-label{display:none!important}
body.vh-system.template-product .section-products-related .swiper-wrapper{grid-template-columns:repeat(auto-fit,minmax(240px,280px));gap:24px}
body.vh-system.template-product .section-products-related .item-description{padding:18px 18px 10px!important;text-align:center!important}
body.vh-system.template-product .section-products-related .vanhaus-grid-category-row,
body.vh-system.template-product .section-products-related .vanhaus-grid-name-row{justify-content:center!important;text-align:center}
body.vh-system.template-product .section-products-related .vanhaus-grid-name-row{min-height:42px!important;margin-bottom:10px!important}
body.vh-system.template-product .section-products-related .vanhaus-grid-name-row .item-name{font-size:18px!important;line-height:1.2;text-align:center}
body.vh-system.template-product .section-products-related .item-price-container{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin:0!important}
body.vh-system.template-product .section-products-related .item-price{order:1;font-size:24px!important}
body.vh-system.template-product .section-products-related .vh-catalog-discount-inline{order:2;margin:0!important}
body.vh-system.template-product .section-products-related .price-compare{order:3;margin:0!important}
body.vh-system.template-product .section-products-related .item-actions{padding:10px 18px 18px!important;justify-content:center!important}
@media(max-width:767px){
  body.vh-system.template-product .section-products-related .swiper-wrapper{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:0 20px}
  body.vh-system.template-product .section-products-related .item-description{padding:14px 11px 8px!important}
  body.vh-system.template-product .section-products-related .vanhaus-grid-name-row .item-name{font-size:15px!important}
  body.vh-system.template-product .section-products-related .item-price{font-size:20px!important}
  body.vh-system.template-product .section-products-related .item-actions{padding:8px 11px 12px!important}
}

@media(max-width:767px){
  body.vh-system .vh-discount-badge{min-height:29px;padding:0 9px}
  body.vh-system .vh-discount-badge strong{font-size:14px}
  body.vh-system .vh-pdp-price-row{gap:9px}
  /* En dos columnas cualquier insignia sobre la imagen compite con el producto.
     El descuento se mueve al bloque de precio y deja la foto completamente libre. */
  body.vh-system.template-category .vh-catalog-discount-inline,
body.vh-system .vh-related-catalog .vh-catalog-discount-inline{
    position:static!important;width:max-content;max-width:100%;margin-left:6px;
  }
  body.vh-system.template-category .vh-catalog-discount-inline .vh-discount-badge,
body.vh-system .vh-related-catalog .vh-catalog-discount-inline .vh-discount-badge{min-height:22px;padding:0 7px;font-size:7px;box-shadow:0 6px 14px rgba(50,215,91,.07)}
  body.vh-system.template-category .vh-catalog-discount-inline .vh-discount-badge strong,
body.vh-system .vh-related-catalog .vh-catalog-discount-inline .vh-discount-badge strong{font-size:12px}
  body.vh-system.template-category .category-body .vh-catalog-price-stack,
body.vh-system .vh-related-catalog .vh-catalog-price-stack{
    position:relative;
    margin-bottom:auto;
    padding-bottom:34px;
  }
  body.vh-system.template-category .category-body .vh-catalog-discount-inline,
body.vh-system .vh-related-catalog .vh-catalog-discount-inline{
    position:absolute!important;
    left:50%;
    bottom:7px;
    display:flex!important;
    justify-content:center;
    width:max-content;
    max-width:100%;
    margin:0!important;
    transform:translateX(-50%);
  }
}

@media(max-width:767px){

body.vh-system.template-product .vh-product .vh-scroll-cue,
  body.vh-system.template-product .vh-cue-below-photo{
    display:none!important;
    visibility:hidden!important;
  }
}

/* PDP shipping: Tiendanube keeps all calculation, states and option markup.
   These rules only give its native calculator Vanhaus hierarchy and density. */
body.vh-system.template-product #product-shipping-container{
  clear:both;margin:18px 0 2px;padding:15px 14px 12px;
  border:1px solid color-mix(in srgb,#A2BEFE 26%,#3a4049)!important;
  border-radius:14px;background:linear-gradient(145deg,#15181d,#101215)!important;
}
body.vh-system.template-product #product-shipping-container [data-store="shipping-calculator"]{margin:0!important;padding:0!important}
body.vh-system.template-product #product-shipping-container .shipping-calculator-head{min-height:106px!important}
body.vh-system.template-product #product-shipping-container .form-label{
  margin:0 0 9px!important;color:#eef1f6!important;font-family:var(--vh-font-ui);font-size:13px!important;font-weight:800!important;
  letter-spacing:.01em;text-transform:none!important;
}
body.vh-system.template-product #product-shipping-container .form-label svg{color:#A2BEFE!important}
body.vh-system.template-product #product-shipping-container .form-group-inline{margin-bottom:0!important}
body.vh-system.template-product #product-shipping-container input.form-control{
  min-height:46px!important;border:1px solid #3c424c!important;border-radius:9px 0 0 9px!important;
  background:#0c0e11!important;color:#f4f6fa!important;box-shadow:none!important;
}
body.vh-system.template-product #product-shipping-container input.form-control:focus{border-color:#A2BEFE!important}
body.vh-system.template-product #product-shipping-container .js-calculate-shipping{
  min-height:46px!important;border:1px solid #A2BEFE!important;border-radius:0 9px 9px 0!important;
  background:#A2BEFE!important;color:#090b0f!important;font-family:var(--vh-font-ui);font-size:11px!important;font-weight:900!important;
  letter-spacing:.06em;text-transform:uppercase!important;
}
body.vh-system.template-product #product-shipping-container .js-shipping-zipcode-help{margin:9px 0 0!important;color:#b9c7e9!important;font-size:12px!important}
body.vh-system.template-product #product-shipping-container .js-shipping-calculator-with-zipcode{margin:0!important}
body.vh-system.template-product #product-shipping-container .js-shipping-calculator-with-zipcode .font-small{color:#cfd5de!important}
body.vh-system.template-product #product-shipping-container .js-shipping-calculator-change-zipcode{
  border:0!important;background:transparent!important;color:#A2BEFE!important;font-size:11px!important;font-weight:800!important;text-decoration:underline!important;
}
body.vh-system.template-product #product-shipping-container .js-shipping-calculator-response{margin:10px 0 0!important}
body.vh-system.template-product #product-shipping-container .js-shipping-calculator-response .form-label{
  margin:13px 0 8px!important;padding-top:12px;border-top:1px solid #ffffff14!important;
}
body.vh-system.template-product #product-shipping-container .radio-button-item{margin:0!important;border:0!important;background:transparent!important}
body.vh-system.template-product #product-shipping-container .radio-button.list-item{padding:12px 0!important;border-top:1px solid #ffffff12!important;background:transparent!important}
body.vh-system.template-product #product-shipping-container .radio-button-icons-container{padding-right:9px!important}
body.vh-system.template-product #product-shipping-container .vh-shipping-option{align-items:start!important}
body.vh-system.template-product #product-shipping-container .vh-shipping-option-time{
  color:#f1f3f7!important;font-size:13px!important;font-weight:750!important;line-height:1.35!important;
}
body.vh-system.template-product #product-shipping-container .vh-shipping-option-time svg{color:#A2BEFE!important}
body.vh-system.template-product #product-shipping-container .vh-shipping-option-name{color:#aeb6c2!important;font-size:12px!important;line-height:1.35!important}
body.vh-system.template-product #product-shipping-container .vh-shipping-option-price h5{color:#f4f6fa!important;font-size:14px!important;font-weight:850!important;line-height:1.35!important}
body.vh-system.template-product #product-shipping-container .vh-shipping-option-price h5.text-accent{color:#A2BEFE!important}
body.vh-system.template-product #product-shipping-container .vh-shipping-option-info :is(i,ul){color:#9ea7b4!important;font-size:12px!important;line-height:1.45!important}
body.vh-system.template-product #product-shipping-container .js-toggle-more-shipping-options{margin:8px 0 2px!important;text-align:left!important}
body.vh-system.template-product #product-shipping-container .js-toggle-more-shipping-options a{color:#A2BEFE!important;font-weight:750!important}
body.vh-system.template-product #product-shipping-container .alert{margin:10px 0 0!important;border-radius:8px!important;font-size:12px!important;line-height:1.4!important}
@media(max-width:767px){
  body.vh-system.template-product #product-shipping-container{margin-top:15px;padding:14px 12px 11px;border-radius:12px}
  body.vh-system.template-product #product-shipping-container .shipping-calculator-head{min-height:111px!important}
  body.vh-system.template-product #product-shipping-container .form-control-container{flex:0 0 100%!important;max-width:100%!important;padding-right:0!important}
  body.vh-system.template-product #product-shipping-container .form-group-inline>div:last-child{flex:0 0 100%!important;max-width:100%!important;padding:9px 0 0!important}
  body.vh-system.template-product #product-shipping-container input.form-control{border-radius:9px!important}
  body.vh-system.template-product #product-shipping-container .js-calculate-shipping{border-radius:9px!important}
  body.vh-system.template-product #product-shipping-container .radio-button-label{min-width:0!important}
  body.vh-system.template-product #product-shipping-container .vh-shipping-option-info{min-width:0!important}
  body.vh-system.template-product #product-shipping-container .vh-shipping-option-time{overflow-wrap:anywhere}
}

/* Mobile layout hardening: fixed header offsets, stronger surfaces, non-overlap
   FAB and product information tables. Desktop remains untouched. */
@media(max-width:767px){
  body.vh-system{
    --vh-surface:#1c1c1e;
    --vh-raised:#222326;
    --vh-border:#3a3b42;
  }
  body.vh-system :is(h2,[id],.vh-chapter,.vh-story,.vh-product-story,.vh-information,.vh-reviews-heading,.section-products-related){
    scroll-margin-top:72px;
  }
  body.vh-system :is(.item,.vh-spec,.vh-info-panel,.vh-info-accordion,.vh-review-card,.vh-story-lifestyle,.vh-story-material-item){
    box-shadow:0 10px 28px rgba(0,0,0,.22);
  }

  body.vh-system.template-category .js-product-table,
body.vh-system .vh-related-catalog .js-product-table{
    justify-content:flex-start!important;
  }
  body.vh-system.template-category .js-product-table>.js-item-product,
body.vh-system .vh-related-catalog .js-product-table>.js-item-product{
    flex-grow:0!important;
  }

  body.vh-system .btn-whatsapp{
    display:flex!important;
    width:42px!important;
    height:42px!important;
    right:12px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    align-items:center!important;
    justify-content:center!important;
    opacity:1;
    border:2px solid rgba(255,255,255,.85)!important;
    box-shadow:0 4px 14px rgba(0,0,0,.35)!important;
  }
  body.vh-system .btn-whatsapp svg{
    width:20px!important;
    height:20px!important;
    padding:0!important;
  }
  /* vh-fab-scroll-hidden: se oculta al scrollear hacia abajo y vuelve a
     aparecer al scrollear hacia arriba (ver vanhaus-interactions.js). Mismo
     efecto visual que vh-fab-tucked, pero disparado por direccion de scroll
     en vez de deteccion de superposicion con contenido. */
  body.vh-system.vh-dock-visible .btn-whatsapp,
  body.vh-system.vh-fab-tucked .btn-whatsapp,
  body.vh-system.vh-fab-scroll-hidden .btn-whatsapp,
  body.vh-system.template-product .btn-whatsapp{
    transform:translateY(160%)!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  body.vh-system.template-product .vh-info-body table,
  body.vh-system.template-product .vh-product-description table{
    display:block!important;
    width:100%!important;
    border:0!important;
    overflow:visible!important;
  }
  body.vh-system.template-product .vh-info-body thead,
  body.vh-system.template-product .vh-product-description thead{
    display:none!important;
  }
  body.vh-system.template-product .vh-info-body :is(tbody,tr),
  body.vh-system.template-product .vh-product-description :is(tbody,tr){
    display:block!important;
    width:100%!important;
  }
  body.vh-system.template-product .vh-info-body tr,
  body.vh-system.template-product .vh-product-description tr{
    padding:14px 0!important;
    border:0!important;
    border-bottom:1px solid var(--vh-border)!important;
    background:transparent!important;
  }
  body.vh-system.template-product .vh-info-body :is(th,td),
  body.vh-system.template-product .vh-product-description :is(th,td){
    display:block!important;
    width:100%!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    text-align:left!important;
  }
  body.vh-system.template-product .vh-info-body :is(th,td):first-child,
  body.vh-system.template-product .vh-product-description :is(th,td):first-child{
    margin:0 0 5px!important;
    color:#8f96a3!important;
    font:800 10px/1.3 var(--vh-font-ui)!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }
  body.vh-system.template-product .vh-info-body :is(th,td):not(:first-child),
  body.vh-system.template-product .vh-product-description :is(th,td):not(:first-child){
    color:#eef1f4!important;
    font-size:14px!important;
    line-height:1.55!important;
  }
}

/* Catalog consistency: one tag and one price row at every viewport. */
body.vh-system.template-category .category-body .js-product-table,
body.vh-system .vh-related-catalog .js-product-table{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
/* Si a pesar del fallback en JS solo hay 2 candidatos reales para "Tambien te
   pueden interesar", 2 items en una grilla de 3 dejan un hueco vacio a la
   derecha — se achica la grilla a 2 columnas en vez de forzar espacio fantasma. */
body.vh-system .vh-related-catalog .js-product-table:has(>.js-item-product:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
body.vh-system.template-category .category-body .js-product-table>.js-item-product,
body.vh-system .vh-related-catalog .js-product-table>.js-item-product{width:100%!important;max-width:none!important;flex:initial!important}
body.vh-system.template-category .category-body .vanhaus-grid-use,
body.vh-system .vh-related-catalog .vanhaus-grid-use{display:inline-flex!important;position:absolute!important;top:12px!important;right:12px!important;left:auto!important;bottom:auto!important;z-index:3;margin:0!important;font-size:10px!important}
body.vh-system.template-category .category-body .vh-catalog-price-stack,
body.vh-system .vh-related-catalog .vh-catalog-price-stack{padding-bottom:0!important;margin-bottom:0!important}
body.vh-system.template-category .category-body .item-price-container,
body.vh-system .vh-related-catalog .item-price-container{display:flex!important;align-items:center;justify-content:center;flex-wrap:nowrap!important;gap:6px;white-space:nowrap;min-width:0}
body.vh-system.template-category .category-body .item-price-container .price-compare,
body.vh-system .vh-related-catalog .item-price-container .price-compare{margin:0!important;font-size:12px!important;flex:0 0 auto}
body.vh-system.template-category .category-body .item-price,
body.vh-system .vh-related-catalog .item-price{font-size:24px!important}
body.vh-system.template-category .category-body .vh-catalog-discount-inline,
body.vh-system .vh-related-catalog .vh-catalog-discount-inline{position:static!important;inset:auto!important;display:inline-flex!important;justify-content:center;width:auto!important;max-width:none!important;margin:0!important;transform:none!important;flex:0 0 auto}
body.vh-system.template-category .category-body .vh-discount-badge,
body.vh-system .vh-related-catalog .vh-discount-badge{gap:0!important}
body.vh-system.template-category .category-body .vh-catalog-card-actions,
body.vh-system .vh-related-catalog .vh-catalog-card-actions{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;padding:0}
body.vh-system.template-category .category-body .item-description>.item-link>*,
body.vh-system .vh-related-catalog .item-description>.item-link>*{flex-shrink:0}
body.vh-system.template-category .category-body .vanhaus-grid-name-row,
body.vh-system .vh-related-catalog .vanhaus-grid-name-row{height:auto!important;min-height:2.6em!important;align-items:flex-start!important}
body.vh-system.template-category .category-body .js-addtocart-placeholder[style*="display: none"],body.vh-system.template-category .category-body .js-addtocart-placeholder[style*="display:none"],
body.vh-system .vh-related-catalog .js-addtocart-placeholder[style*="display: none"],
body.vh-system .vh-related-catalog .js-addtocart-placeholder[style*="display:none"]{display:none!important}
body.vh-system.template-category .category-body .vh-card-purchase,
body.vh-system .vh-related-catalog .vh-card-purchase{display:flex;flex-direction:column;gap:8px;margin:0;width:100%;min-width:0}
body.vh-system.template-category .category-body .vh-card-purchase .vh-btn,body.vh-system.template-category .category-body .vh-catalog-card-actions>a.vh-btn,
body.vh-system .vh-related-catalog .vh-card-purchase .vh-btn,
body.vh-system .vh-related-catalog .vh-catalog-card-actions>a.vh-btn{width:100%;min-width:0;min-height:44px;padding:10px 8px;font-size:12px;white-space:normal;text-align:center}
body.vh-system.template-category .category-body .vh-quick-variants .js-product-variants-group,
body.vh-system .vh-related-catalog .vh-quick-variants .js-product-variants-group{padding:0}
body.vh-system.template-category .category-body .vh-quick-variants .form-label,
body.vh-system .vh-related-catalog .vh-quick-variants .form-label{font-size:11px}
body.vh-system.template-category .category-body .vh-quick-variants .form-select,
body.vh-system .vh-related-catalog .vh-quick-variants .form-select{width:100%;min-height:38px;padding:8px 24px 8px 8px;font-size:12px}
body.vh-system.template-category .category-body .vh-quick-variants .form-select-icon,
body.vh-system .vh-related-catalog .vh-quick-variants .form-select-icon{background:transparent!important;color:var(--vh-text)}
body.vh-system.template-category .vh-plp-navigation-row{flex-wrap:wrap;gap:12px 24px}
body.vh-system.template-category .vh-plp-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
body.vh-system.template-category .vh-plp-results{margin:0;color:var(--vh-muted);font-size:12px;white-space:nowrap}
body.vh-system.template-category .vh-plp-tools .vh-plp-sort{flex:0 1 180px;min-width:0;width:180px}
body.vh-system.template-category .vh-plp-filters{position:relative}
body.vh-system.template-category .vh-plp-filters summary{display:flex;align-items:center;justify-content:center;gap:8px;height:38px;box-sizing:border-box;padding:8px 12px;border:1px solid var(--vh-border);color:var(--vh-text);font-size:12px;cursor:pointer;list-style:none}
body.vh-system.template-category .vh-plp-filters summary::-webkit-details-marker{display:none}
body.vh-system.template-category .vh-plp-filters svg{width:14px;height:14px;fill:currentColor}
body.vh-system.template-category .vh-plp-filter-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:300px;max-width:calc(100vw - 40px);max-height:65vh;overflow:auto;padding:18px;background:var(--vh-surface);border:1px solid var(--vh-border);box-shadow:0 12px 30px #0005}
body.vh-system.template-category .vh-plp-filter-panel .js-filters-overlay{position:absolute;inset:0;background:var(--vh-surface);padding:20px}
body.vh-system.template-category .vh-catalog-close{order:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:28px 20px;text-align:center;border:1px solid var(--vh-border);background:var(--vh-surface);border-radius:var(--vh-radius,12px)}
body.vh-system.template-category .vh-catalog-close{grid-column:span var(--vh-close-desktop-span,3)}
body.vh-system.template-category .vh-catalog-close>svg{width:28px;height:28px;margin-bottom:16px;fill:var(--vh-muted)}
body.vh-system.template-category .vh-catalog-close h2{margin:0 0 12px;font-size:clamp(20px,2.2vw,28px);line-height:1.2;color:var(--vh-text)}
body.vh-system.template-category .vh-catalog-close p{margin:0 0 20px;color:var(--vh-muted);font-size:13px;line-height:1.5}
body.vh-system.template-category .vh-catalog-close .vh-navigation-cta{max-width:100%;min-height:44px;gap:8px;font-size:12px}
body.vh-system.template-category[data-rounded-borders="false"] .vh-catalog-close{border-radius:0}
@media(max-width:767px){
 body.vh-system.template-category .category-body .js-product-table,
body.vh-system .vh-related-catalog .js-product-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.vh-system.template-category .vh-plp-navigation-row{display:flex;gap:10px}
 body.vh-system.template-category .vh-plp-categories{flex:1 1 100%;margin-right:0;padding-right:0;gap:16px}
 body.vh-system.template-category .vh-plp-tools{width:100%;gap:8px}
 body.vh-system.template-category .vh-plp-results{margin-right:auto;font-size:10px}
 body.vh-system.template-category .vh-plp-tools .vh-plp-sort{width:136px;flex:0 1 136px}
 body.vh-system.template-category .vh-plp-sort .form-select{min-height:38px;font-size:11px;padding-left:8px;padding-right:26px;background-position:right 9px center}
 body.vh-system.template-category .vh-plp-filters summary{padding:8px;font-size:11px;gap:4px}
 body.vh-system.template-category .vh-plp-filter-panel{position:fixed;top:auto;right:20px;left:20px;width:auto;max-width:none;max-height:60vh}
 body.vh-system.template-category .category-body .item-description,
body.vh-system .vh-related-catalog .item-description{padding-inline:8px!important}
 body.vh-system.template-category .category-body .item-actions,
body.vh-system .vh-related-catalog .item-actions{padding-inline:8px!important}
 body.vh-system.template-category .category-body .item-price-container,
body.vh-system .vh-related-catalog .item-price-container{gap:4px}
 body.vh-system.template-category .category-body .item-price-container .price-compare,
body.vh-system .vh-related-catalog .item-price-container .price-compare{font-size:9px!important}
 body.vh-system.template-category .category-body .item-price,
body.vh-system .vh-related-catalog .item-price{font-size:clamp(14px,3.8vw,18px)!important}
 body.vh-system.template-category .category-body .vh-catalog-discount-inline .vh-discount-badge,
body.vh-system .vh-related-catalog .vh-catalog-discount-inline .vh-discount-badge{padding:0 4px;font-size:6px}
 body.vh-system.template-category .category-body .vh-catalog-discount-inline .vh-discount-badge strong,
body.vh-system .vh-related-catalog .vh-catalog-discount-inline .vh-discount-badge strong{font-size:9px}
 body.vh-system.template-category .category-body .vanhaus-grid-use,
body.vh-system .vh-related-catalog .vanhaus-grid-use{top:8px!important;right:8px!important;font-size:8px!important}
 body.vh-system.template-category .category-body .vh-card-purchase .vh-btn,
body.vh-system .vh-related-catalog .vh-card-purchase .vh-btn{font-size:10px}
 body.vh-system.template-category .vh-catalog-close{grid-column:span var(--vh-close-mobile-span,2);padding:22px 12px}
}

/* PDP shipping visibility and complementary purchase controls. */
body.vh-system .vh-product-dock[hidden]{display:none!important}
body.vh-system.template-product .vh-shipping-estimate-help{margin:0 0 12px;color:var(--vh-muted);font-size:12px;line-height:1.5}
body.vh-system.template-product #product-shipping-container .shipping-calculator-head.with-form{min-height:185px!important}
body.vh-system .vh-footer-ship-chip{display:inline-flex;align-items:center;gap:8px}
body.vh-system .vh-footer-ship-chip svg{width:18px;height:18px;flex:0 0 18px;fill:currentColor}
body.vh-system.template-product .section-products-related .vh-catalog-card-actions,body.vh-system.template-product .section-products-related .vh-card-purchase{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0}
body.vh-system.template-product .section-products-related .vh-card-purchase .vh-btn{width:100%;min-width:0;min-height:44px;padding:10px 8px;font-size:12px;white-space:normal;text-align:center}
body.vh-system.template-product .section-products-related .js-addtocart-placeholder[style*="display: none"],body.vh-system.template-product .section-products-related .js-addtocart-placeholder[style*="display:none"]{display:none!important}

/* Keep desktop gallery arrows clear of the photograph until hover. */
@media(hover:hover) and (pointer:fine){
 body.vh-system.template-product .vh-native-gallery .product-image-container :is(.vh-gal-nav,.swiper-button-prev,.swiper-button-next){opacity:0;pointer-events:none}
 body.vh-system.template-product .vh-native-gallery .product-image-container:hover :is(.vh-gal-nav,.swiper-button-prev,.swiper-button-next),body.vh-system.template-product .vh-native-gallery .product-image-container :is(.vh-gal-nav,.swiper-button-prev,.swiper-button-next):focus-visible{opacity:1;pointer-events:auto}
 body.vh-system.template-product .vh-native-gallery .product-image-container:hover .swiper-button-disabled{opacity:.35;pointer-events:none}
}

/* Related products share catalog card rules above. */
body.vh-system.template-product .vh-related-catalog[hidden]{display:none!important}
body.vh-system.template-product .vh-related-catalog{padding-top:28px;padding-bottom:32px}
@media(max-width:767px){body.vh-system.template-product .vh-related-catalog{padding-top:24px;padding-bottom:24px}}
body.vh-system.template-product .vh-related-catalog>h2{text-align:center;margin-bottom:24px}

/* Native cart drawer and complementary catalog cards on the light cart surface. */
body.vh-system #modal-cart{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(480px,100vw)!important;max-width:100vw!important;height:100vh!important;height:100dvh!important;max-height:none!important;margin:0!important;border-radius:0!important;overflow-y:auto!important;overscroll-behavior:contain;z-index:20000!important}
body.vh-system .modal-overlay[data-modal-id="#modal-cart"]{z-index:19999!important}
/* En PC el drawer usa modal_width "docked-md" (no "fullscreen"); el JS nativo
   de la plataforma parece no mostrar el scrim atenuador para esa variante —
   sin fondo oscurecido detras, el drawer no se lee como una capa modal. Se
   fuerza por CSS puro (sin depender de que JS lo muestre) cada vez que el
   drawer esta abierto. */
body.vh-system .modal-overlay[data-modal-id="#modal-cart"]{
  transition:opacity .18s ease!important;
}
body.vh-system:has(#modal-cart.modal-show) .modal-overlay[data-modal-id="#modal-cart"]{
  display:block!important;background:var(--vh-cart-scrim,rgba(0,0,0,.6))!important;opacity:1!important;
}
/* position:sticky nunca llega al borde real acá: #modal-cart (el contenedor que
   scrollea) trae padding-top:20px nativo, y ese padding entra en el calculo del
   punto de "pegado" de sticky — deja un hueco de 20px por donde se ve contenido
   "por detras" arriba del header, en cualquier navegador. Probado en vivo: ni
   margen negativo ni transform lo corrigen (position:sticky simplemente no lo
   permite con ese padding). La solucion real es sacar el header del flujo que
   scrollea: position:fixed anclado a la ventana del drawer (no a #modal-cart,
   que sigue siendo el que tiene overflow), y compensar con padding-top en
   modal-body para que el contenido no arranque tapado debajo. */
body.vh-system #modal-cart .modal-header{
  position:fixed;top:0;right:0;left:auto;width:min(480px,100vw);height:56px;z-index:20;cursor:pointer;
  margin:0;padding:0 8px 0 16px;border:0;box-sizing:border-box;
  display:flex;align-items:center;justify-content:space-between;
  background:var(--vh-surface)!important;
}
body.vh-system #modal-cart .modal-header .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Centrado en la banda (no a la izquierda) y mas grande: el X queda pinneado
   a la derecha por su propio ancho fijo (44px), asi que centrar el logo con
   position:absolute no lo tapa. */
body.vh-system #modal-cart .modal-header .vh-cart-wordmark{
  order:1;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;align-items:center;pointer-events:none;
}
body.vh-system #modal-cart .modal-header .vh-cart-logo-container{display:flex!important;align-items:center;margin:0!important;width:auto!important;max-width:none!important}
body.vh-system #modal-cart .modal-header .vh-cart-logo-img{height:40px!important;width:auto!important;max-width:none!important;max-height:40px!important;object-fit:contain}
body.vh-system #modal-cart .modal-header .vh-cart-logo-text{margin:0!important;color:#fff!important;font-size:18px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:22px;}
body.vh-system #modal-cart .modal-header .modal-close{
  order:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;
  border:0!important;border-radius:0!important;background:transparent!important;color:#fff;opacity:1;transition:opacity .15s ease;
}
body.vh-system #modal-cart .modal-header .modal-close:hover{opacity:.7}
body.vh-system #modal-cart .modal-header .modal-close-icon{width:20px;height:20px;fill:#fff!important;color:#fff!important}
body.vh-system #modal-cart .modal-body{position:relative;z-index:1;overflow-anchor:none;padding-top:76px!important}
@media(max-width:480px){body.vh-system #modal-cart .modal-body{padding-top:72px!important}}
body.vh-system .vh-cart-recommendations[hidden]{display:none!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations{padding:24px 20px;border-top:1px solid var(--vh-border);margin-top:24px}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations h2{margin:0 0 18px;font-size:22px;font-weight:800;text-align:left;color:var(--vh-text)!important}
body.vh-system #modal-cart .vh-cart-recommendations .js-product-table{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations .item{background:var(--vh-raised)!important;border-color:var(--vh-border)!important;color:var(--vh-text)!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations :is(.item-name,.item-price,.vh-navigation-cta-card){color:var(--vh-text)!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations .item-description{color:var(--vh-text)!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations :is(.vanhaus-grid-differential,.item-installments,.vh-catalog-transfer-price){color:var(--vh-text-soft)!important}
body.vh-system #modal-cart .vh-cart-recommendations :is(.item-description,.item-actions){padding-inline:8px!important}
body.vh-system #modal-cart .vh-cart-recommendations .item-name{font-size:15px!important}
body.vh-system #modal-cart .vh-cart-recommendations .item-price{font-size:18px!important}
body.vh-system #modal-cart .vh-cart-recommendations .vh-card-purchase .vh-btn{font-size:11px}

body.vh-system :is(#modal-cart,#shoppingCartPage)>.vh-cart-checkout-final{margin:0!important;padding:20px;background:var(--vh-surface)!important}
body.vh-system #modal-cart>.vh-cart-checkout-final{position:sticky;bottom:0;z-index:21;border-top:1px solid var(--vh-border)}

body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations .vanhaus-grid-label{display:none!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations .vanhaus-grid-name-row{display:block!important;text-align:center}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations .vh-product-use-tag{color:var(--vh-text-soft)!important}
body.vh-system #modal-cart .vh-cart-recommendations .item-price-container{gap:4px!important}
body.vh-system #modal-cart .vh-cart-recommendations .price-compare{font-size:9px!important}
body.vh-system #modal-cart .vh-cart-recommendations .vh-catalog-discount-inline .vh-discount-badge{padding:0 4px;font-size:6px}
body.vh-system #modal-cart .vh-cart-recommendations .vh-catalog-discount-inline .vh-discount-badge strong{font-size:9px}

body.vh-system .js-alert-added-to-cart{display:none!important}

/* Shared catalog cards: one discount/shipping message and permanent purchase actions. */
body.vh-system :is(.category-body,.vh-related-catalog) .js-item-product .js-offer-label{display:none!important}
body.vh-system :is(.category-body,.vh-related-catalog) .js-item-product .vh-floating-shipping-label{display:none!important}
body.vh-system :is(.category-body,.vh-related-catalog) .js-item-product .vanhaus-grid-benefit{display:inline-flex!important;align-items:center;justify-content:center;align-self:center;width:auto;max-width:100%;margin:8px auto 0;padding:6px 9px;border:1px solid #525461;border-radius:5px;font-size:11px;line-height:1.3;text-align:center}
body.vh-system :is(.category-body,.vh-related-catalog) .js-item-product .item-actions{position:relative!important;inset:auto!important;display:flex!important;height:auto!important;min-height:0!important;max-height:none!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;overflow:visible!important}
body.vh-system :is(.category-body,.vh-related-catalog) .js-item-product .vh-catalog-card-actions{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations .vanhaus-grid-benefit{border-color:var(--vh-border)!important;color:var(--vh-text-soft)!important;background:var(--vh-raised)!important}

/* Catalog: colored shipping above, prominent installments, no technical summary. */
body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .vanhaus-grid-benefit,
body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .vanhaus-grid-differential{display:none!important}
/* Sin badge de envio gratis en catalogo NI en "Tambien te puede interesar"
   (PDP), a pedido explicito repetido — estas reglas lo forzaban visible en
   ambos contextos. */
body.vh-system :is(.category-body,.vh-related-catalog) .js-item-product .vh-floating-shipping-label{display:none!important}
body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .item-installments{color:#fff!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;opacity:1!important;margin-top:8px!important}
body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .item-installments *{color:#fff!important;font-size:inherit!important;opacity:1!important}
@media(max-width:767px){body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .item-installments{font-size:12px!important}body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .vh-floating-shipping-label{font-size:9px!important;padding:6px 8px}}

body.vh-system .vh-related-catalog .js-item-product .vh-catalog-card-actions>.vh-navigation-cta-card{display:flex!important;align-items:center;justify-content:center;opacity:1!important;visibility:visible!important;transform:none!important}
body.vh-system .vh-related-catalog .js-item-product .vh-card-purchase{opacity:1!important;visibility:visible!important;transform:none!important}

/* Fixed drawer footer; the document scrolls above it, never behind the purchase button. */
body.vh-system #modal-cart{padding-bottom:100px!important}
body.vh-system #modal-cart>.vh-cart-checkout-final{position:fixed!important;left:auto!important;right:0!important;bottom:0!important;width:min(480px,100vw)!important;box-sizing:border-box;z-index:20001!important;padding:16px 20px calc(16px + env(safe-area-inset-bottom))!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations{padding:16px!important;margin-top:12px!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-recommendations .js-product-table{display:flex!important;flex-direction:column;gap:10px!important}
/* .item-product trae un border-bottom nativo pensado para separar items en una
   lista plana (catalogo); acá la card ya tiene su propio borde/sombra de card,
   asi que ese resto quedaba como una linea corta e injustificada bajo el texto. */
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card{width:100%!important;border-bottom:0!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .js-quickshop-container{display:grid!important;grid-template-columns:72px minmax(0,1fr);column-gap:12px;align-items:center;padding:10px}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .item-image{grid-column:1;grid-row:1/3;aspect-ratio:1!important;width:72px!important;height:72px!important;min-height:0!important;align-self:start;margin:0!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .item-description{grid-column:2;margin:0!important;padding:0!important;text-align:left!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .vanhaus-grid-name-row{min-height:0!important;margin:0 0 5px!important;text-align:left!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .item-name{min-height:0!important;font-size:14px!important;line-height:1.3!important;text-align:left!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .item-price-container{justify-content:flex-start!important;margin:0!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .item-price{font-size:18px!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .item-installments{margin:3px 0 0!important;font-size:11px!important;line-height:1.4!important;color:var(--vh-text-soft)!important;text-align:left!important}
/* Las cards de catalogo no traen form de compra propio (a proposito, ver comentario
   en vanhaus-interactions.js): el "+" se arma en JS y se ancla al borde derecho de
   la card, centrado verticalmente contra toda la fila (foto + texto). */
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .js-quickshop-container{padding-right:38px!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .vh-mini-add-form{position:absolute;top:50%;right:10px;transform:translateY(-50%);margin:0!important;z-index:2}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .vh-mini-add-btn{width:28px;height:28px;padding:0;border:0;border-radius:8px;background:var(--vh-cta,#A2BEFE);color:#000;font-size:17px;line-height:1;font-weight:800;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .vh-mini-add-btn:hover{filter:brightness(0.95)}
/* El "+" no es un CTA primario: no compite con FINALIZAR COMPRA, pero necesita
   borde e icono con contraste real contra la card (--vh-raised), no un tono
   casi igual al fondo. */
body.vh-system #modal-cart .vh-cart-mini-card .vh-mini-add-btn{
  background:var(--vh-surface)!important;color:var(--vh-periwinkle,#A2BEFE)!important;
  border:1.5px solid var(--vh-periwinkle,#A2BEFE)!important;
}
body.vh-system #modal-cart .vh-cart-mini-card .vh-mini-add-btn:hover{
  background:var(--vh-periwinkle,#A2BEFE)!important;color:#000!important;filter:none;
}

body.vh-system #modal-cart{transform:none!important}

/* Mobile catalog: one navigation action and a clear shipping band above the photo. */
@media(max-width:767px){
  body.vh-system.template-category .category-body .js-item-product .vh-card-purchase{display:none!important}
  body.vh-system.template-category .category-body .js-item-product .item-price{font-size:20px!important}
  body.vh-system.template-category .category-body .js-item-product .item-price-container{gap:3px!important}
  body.vh-system.template-category .category-body .js-item-product .item-image{aspect-ratio:.85/1!important}
  body.vh-system.template-category .category-body .js-item-product .item-image img{height:100%!important;box-sizing:border-box!important;padding-top:48px!important;object-fit:contain!important}
  body.vh-system.template-category .category-body .js-item-product .item-actions{padding-bottom:16px!important}
}

/* Un solo verde de beneficio economico en todo el sitio (catalogo y carrito
   convivían con dos valores distintos; unificado a pedido). */
body.vh-system{--vh-benefit-green:#65df91}
body.vh-system :is(.vh-positive-benefit,.vh-positive-benefit *,.product-detail-installments,.product-detail-installments *,.js-max-installments,.js-max-installments *,.vh-ship-copy strong,.vh-card-benefit,.js-product-form-free-shipping-message){color:var(--vh-benefit-green)!important;opacity:1!important}
body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .item-installments,
body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .item-installments *,
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .item-installments,
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .item-installments *{color:var(--vh-benefit-green)!important}
body.vh-system #modal-cart .vh-cart-mini-card .item-installments strong{font-weight:700!important}
body.vh-system :is(.vh-ship-badge,.vh-floating-shipping-label),
body.vh-system .vh-related-catalog:not(.vh-cart-recommendations) .js-item-product .js-labels-floating-group .vh-floating-shipping-label{background:#65df91!important;border-color:#65df91!important;color:#092d16!important}
body.vh-system :is(.vh-ship-badge,.vh-floating-shipping-label) *,
body.vh-system .vh-related-catalog:not(.vh-cart-recommendations) .js-item-product .vh-floating-shipping-label :is(span,strong){color:#092d16!important}

/* Desktop cards reserve a separate band for shipping and category badges. */
body.vh-system .vh-ship .vh-ship-badge,
body.vh-system .vh-ship .vh-ship-badge *{color:#092d16!important;-webkit-text-fill-color:#092d16!important;opacity:1!important}
@media(min-width:768px){
  body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .item-image{aspect-ratio:1.2/1!important}
  body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .js-item-product .item-image img{height:100%!important;box-sizing:border-box!important;padding-top:60px!important;object-fit:contain!important}
}

/* PDP purchase layout: native quantity stays inside the original purchase form. */
body.vh-system.template-product .vh-pdp-price-quantity{display:grid!important;grid-template-columns:minmax(0,1fr) 144px;column-gap:20px;row-gap:4px;align-items:end}
body.vh-system.template-product .vh-pdp-price-quantity>*{grid-column:1/-1}
body.vh-system.template-product .vh-pdp-price-quantity>span.d-inline-block{grid-column:1;grid-row:1}
body.vh-system.template-product .vh-pdp-price-quantity>.vh-pdp-price-row{grid-column:1;grid-row:2;min-width:0}
body.vh-system.template-product .vh-pdp-price-quantity>.vh-pdp-quantity{grid-column:2;grid-row:2;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;align-self:center}
body.vh-system.template-product .vh-pdp-price-quantity .vh-pdp-quantity-control{width:100%!important;min-height:48px}
body.vh-system.template-product .vh-pdp-meta-row{display:flex!important;flex-direction:column;align-items:stretch!important;gap:10px;margin-bottom:16px}
body.vh-system.template-product .vh-pdp-meta-side{align-items:flex-start}
body.vh-system.template-product .vh-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px}
body.vh-system.template-product .vh-trust-card{min-height:104px;padding:12px 8px}
@media(max-width:767px){
  body.vh-system.template-product .vh-pdp-price-quantity{grid-template-columns:minmax(0,1fr) 100px;column-gap:10px}
  body.vh-system.template-product .vh-pdp-price-quantity .js-price-display{font-size:clamp(28px,8.5vw,36px)!important}
  body.vh-system.template-product .vh-pdp-price-quantity .vh-pdp-quantity-control{min-height:44px}
  body.vh-system.template-product .vh-trust-grid{gap:6px}
  body.vh-system.template-product .vh-trust-card{padding:10px 6px;min-height:110px}
  body.vh-system.template-product .vh-trust-card>svg{width:23px;height:23px;flex-basis:23px}
  body.vh-system.template-product .vh-trust-card strong{font-size:11px!important}
  body.vh-system.template-product .vh-trust-card span{font-size:10px!important}
}

/* Mobile product recommendations: tighter section spacing and a protected badge band. */
@media(max-width:767px){
  body.vh-system.template-product #single-product{padding-bottom:16px!important}
  body.vh-system.template-product .vh-related-catalog:not(.vh-cart-recommendations){padding-top:24px!important;margin-top:0!important;border-top:1px solid #ffffff24}
  body.vh-system.template-product .vh-related-catalog:not(.vh-cart-recommendations) .vh-pdp-related-title{margin:0 0 20px!important;font-size:26px!important;line-height:1.15!important}
  body.vh-system.template-product .vh-related-catalog:not(.vh-cart-recommendations) .js-item-product .item-image{aspect-ratio:.85/1!important}
  body.vh-system.template-product .vh-related-catalog:not(.vh-cart-recommendations) .js-item-product .item-image img{height:100%!important;box-sizing:border-box!important;padding-top:44px!important;object-fit:contain!important}
  body.vh-system.template-product .vh-related-catalog:not(.vh-cart-recommendations) .js-item-product .js-labels-floating-group .vh-floating-shipping-label{font-size:8px!important;padding:5px 7px!important;min-height:0!important}
}
/* Cart benefits: readable shipping badge and explicit installment wording. */
body.vh-system :is(#modal-cart,#shoppingCartPage) .js-cart-item .label.vh-positive-benefit,
body.vh-system :is(#modal-cart,#shoppingCartPage) .js-cart-item .label.vh-positive-benefit *{background:#0C7A45!important;color:var(--vh-text)!important;-webkit-text-fill-color:var(--vh-text)!important;border-color:#0C7A45!important;opacity:1!important}
body.vh-system :is(#modal-cart,#shoppingCartPage) .js-cart-item .label.vh-positive-benefit{padding:5px 8px!important;font-weight:700!important}
body.vh-system #modal-cart .js-cart-item .label.vh-positive-benefit{border-radius:var(--vh-radius-sm)!important}
body.vh-system #shoppingCartPage .js-cart-item .label.vh-positive-benefit{border-radius:5px!important}
/* Badge "ENVÍO GRATIS" en el item: verde solido, texto claro (spec del rediseño
   oscuro). #65DF91 satura sobre fondo blanco, no sobre este fondo oscuro, asi
   que se mantiene el verde de beneficio en vez del #18783e generico. */
body.vh-system #modal-cart .js-cart-item .label.vh-positive-benefit,
body.vh-system #modal-cart .js-cart-item .label.vh-positive-benefit *{
  background:#0C7A45!important;color:var(--vh-text)!important;-webkit-text-fill-color:var(--vh-text)!important;
  border-color:#0C7A45!important;opacity:1!important;
}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-installments,
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-installments *{font-size:15px!important;line-height:1.45!important;font-weight:600!important;color:var(--vh-success,#65df91)!important;opacity:1!important;font-variant-numeric:tabular-nums}

/* Product payment communication. It is deliberately separate from the native
   current/compare price row and its commercial-discount badge. */
body.vh-system .vh-payment-benefits{width:100%;min-width:0;margin:7px 0 0;box-sizing:border-box;font-variant-numeric:tabular-nums}
body.vh-system .vh-payment-benefits p{margin:0}
body.vh-system .vh-payment-benefits__installments{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2px 4px;min-width:0;color:var(--vh-text,#f4f6fa);font-size:13px;font-weight:650;line-height:1.35}
body.vh-system .vh-payment-benefits__installment-copy{min-width:0;color:var(--vh-text,#f4f6fa)}
body.vh-system .vh-payment-benefits__installment-copy>span:not(.vh-payment-benefits__accent){color:var(--vh-text,#f4f6fa)!important}
body.vh-system .vh-payment-benefits__accent{color:var(--vh-benefit-green,#65df91)!important}
body.vh-system .vh-payment-benefits__installments strong{flex:0 0 auto;color:#fff!important;font-family:var(--vh-font-display);font-size:calc(1em + 1px);font-weight:900;line-height:inherit;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}
body.vh-system .vh-payment-benefits__transfer{min-width:0;margin-top:3px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.vh-system .vh-payment-benefits__transfer-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 6px;min-width:0;color:var(--vh-text,#f4f6fa);font-size:13px;font-weight:600;line-height:1.35}
body.vh-system .vh-payment-benefits__transfer-copy{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 4px;min-width:0;max-width:100%}
body.vh-system .vh-payment-benefits__transfer-copy>strong{color:#fff!important;font-family:var(--vh-font-display);font-size:calc(1em + 1px);font-weight:900;line-height:inherit;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}
body.vh-system .vh-payment-benefits__transfer-words{color:var(--vh-text,#f4f6fa);white-space:nowrap}
body.vh-system .vh-payment-benefits__badge{display:inline;flex:0 0 auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--vh-text-soft,#aeb5c0);font-family:var(--vh-font-display);font-size:11px;font-style:normal;font-weight:800;line-height:1.2;letter-spacing:.045em;white-space:nowrap}
body.vh-system .vh-payment-benefits__saving{margin-top:4px!important;color:var(--vh-text-soft,#aeb5c0);font-size:12px;line-height:1.35}
body.vh-system .vh-payment-benefits__saving strong{color:inherit;font-weight:750;white-space:nowrap}

body.vh-system.template-product .vh-payment-benefits--detail{margin-top:10px}
body.vh-system.template-product .vh-payment-benefits--detail .vh-payment-benefits__installments{justify-content:flex-start;font-size:18px}
body.vh-system.template-product .vh-payment-benefits--detail .vh-payment-benefits__transfer{margin-top:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.vh-system.template-product .vh-payment-benefits--detail .vh-payment-benefits__transfer-main{justify-content:flex-start;font-size:16px}
body.vh-system.template-product .vh-payment-benefits--detail .vh-payment-benefits__transfer-copy{justify-content:flex-start}
body.vh-system.template-product .vh-payment-benefits--detail .vh-payment-benefits__badge{min-height:22px;padding-inline:8px;font-size:11px}

body.vh-system .vh-home .vh-chapter .vh-payment-benefits--compact{max-width:520px;margin-top:8px}
body.vh-system .vh-home .vh-chapter .vh-payment-benefits--compact :is(.vh-payment-benefits__installments,.vh-payment-benefits__transfer-main){justify-content:flex-start;font-size:16px}
body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .vh-payment-benefits--compact{margin-top:7px;text-align:center}

@media(max-width:767px){
  body.vh-system.template-product .vh-payment-benefits--detail .vh-payment-benefits__installments{font-size:16px}
  body.vh-system.template-product .vh-payment-benefits--detail .vh-payment-benefits__transfer-main{font-size:14px}
  body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .vh-payment-benefits--compact :is(.vh-payment-benefits__installments,.vh-payment-benefits__transfer-main){font-size:11px}
  body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .vh-payment-benefits--compact .vh-payment-benefits__installments{flex-direction:column;gap:0}
  body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .vh-payment-benefits--compact .vh-payment-benefits__badge{font-size:9px}
  body.vh-system .vh-home .vh-chapter .vh-payment-benefits--compact :is(.vh-payment-benefits__installments,.vh-payment-benefits__transfer-main){font-size:14px}
}
/* Payment alternatives stay secondary to the native installment amount. */
body.vh-system .vh-transfer-note{display:block!important;width:auto!important;max-width:100%!important;min-width:0!important;margin:5px 0 0!important;padding:0!important;border:0!important;background:transparent!important;color:#f4f6fa!important;-webkit-text-fill-color:#f4f6fa!important;font-size:12px!important;font-weight:400!important;line-height:1.4!important;letter-spacing:normal!important;text-transform:none!important;white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-transfer-note{color:var(--vh-text-soft)!important;-webkit-text-fill-color:var(--vh-text-soft)!important}
/* Cross-sell "También te puede interesar" / mini-cards: mismo tamaño que item-installments (vanhaus-catalog.css), en verde. */
body.vh-system .vh-related-catalog:not(.vh-cart-recommendations) .item .vh-transfer-note{font-size:11px!important;color:var(--vh-benefit-green,#65df91)!important;-webkit-text-fill-color:var(--vh-benefit-green,#65df91)!important;font-weight:600!important}
@media(max-width:767px){body.vh-system .vh-related-catalog:not(.vh-cart-recommendations) .item .vh-transfer-note{font-size:9.5px!important}}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-transfer-note{text-align:right;margin-bottom:12px!important}
/* La transferencia es el incentivo mas fuerte (15% vs. cuotas): mismo peso visual
   que .vh-cart-installments (15px/600/verde), no un texto gris secundario. */
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-transfer-note,
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-transfer-note *{color:var(--vh-success,#65df91)!important;-webkit-text-fill-color:var(--vh-success,#65df91)!important;font-size:15px!important;font-weight:600!important;line-height:1.45!important;font-variant-numeric:tabular-nums}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-transfer-note strong{font-weight:800!important}
/* A2 (segunda mitad): "Estás ahorrando $X", mismo tratamiento que cuotas/transferencia. */
body.vh-system :is(.js-cart-item-unit-price-compare-price,.vh-cart-unit .price-compare){text-decoration:line-through;opacity:.55;margin-right:4px}
body.vh-system :is(#modal-cart,#shoppingCartPage) .vh-cart-mini-card .vh-transfer-note{font-size:11px!important;color:var(--vh-success,#65df91)!important;-webkit-text-fill-color:var(--vh-success,#65df91)!important;font-weight:600!important}
@media(max-width:767px){body.vh-system .js-item-product .vh-transfer-note{font-size:11px!important}}
/* Catalog balance: slightly smaller artwork, clearer purchase information. */
body.vh-system.template-category .category-body .js-item-product .item-image img{padding-inline:16px!important;padding-bottom:20px!important}
body.vh-system.template-category .category-body .js-item-product .item-name{font-size:20px!important}
body.vh-system.template-category .category-body .js-item-product .item-price{font-size:25px!important}
body.vh-system.template-category .category-body .js-item-product .item-installments{font-size:15px!important}
body.vh-system.template-category .category-body .js-item-product .vh-transfer-note{font-size:15px!important;color:var(--vh-benefit-green,#65df91)!important;-webkit-text-fill-color:var(--vh-benefit-green,#65df91)!important;font-weight:600!important}
@media(max-width:767px){
  body.vh-system.template-category .category-body .js-item-product .item-image img{padding-inline:8px!important;padding-bottom:12px!important}
  body.vh-system.template-category .category-body .js-item-product .item-name{font-size:17px!important}
  body.vh-system.template-category .category-body .js-item-product .item-price{font-size:21px!important}
  body.vh-system.template-category .category-body .js-item-product .item-installments{font-size:13px!important}
  /* Sin "15% OFF pagando por transferencia" en las cards del catalogo en mobile. */
  body.vh-system.template-category .category-body .js-item-product .vh-transfer-note{display:none!important}
}

/* ============================================================================
   Sistema de diseño del drawer — Cambios 2/3/4. Reglas #modal-cart-only: no
   tocan #shoppingCartPage (pagina completa de carrito, fuera de alcance).
   Este archivo carga ultimo (system→home→catalog→product→cart→pages→
   placeholders→refinements), asi que estas reglas le ganan a las de
   vanhaus-cart.css y a las de trust-badges/mini-card definidas mas arriba
   en este mismo archivo.
============================================================================ */

/* Cambio 2 — fondo del cuerpo en --vh-mist, bloques internos en --vh-surface.
   Sin sombras: la separacion la da el contraste de fondo, no box-shadow. */
body.vh-system #modal-cart,
body.vh-system #modal-cart .modal-body{background:var(--vh-surface)!important}
body.vh-system #modal-cart .cart-item{
  background:var(--vh-raised)!important;border:1px solid var(--vh-border)!important;
  border-radius:var(--vh-radius-lg)!important;box-shadow:none!important;
  padding:16px!important;margin:0 0 10px!important;
}
body.vh-system #modal-cart .vh-cart-totals-wrap{
  background:var(--vh-raised)!important;border:1px solid var(--vh-border)!important;
  border-radius:var(--vh-radius-lg)!important;box-shadow:none!important;padding:16px!important;margin-bottom:10px!important;
}
body.vh-system #modal-cart .vh-cart-trust-badges .vh-trust-card,
body.vh-system #modal-cart .radio-button-content,
body.vh-system #modal-cart .vh-cart-trust-accordion>summary,
body.vh-system #modal-cart .vh-cart-trust-accordion .vh-cart-trust,
body.vh-system #modal-cart .vh-cart-mini-card{
  background:var(--vh-raised)!important;box-shadow:none!important;
}
body.vh-system #modal-cart [data-store="shipping-calculator"] input.form-control,
body.vh-system #modal-cart .form-quantity{background:var(--vh-surface)!important}
body.vh-system #modal-cart .alert-info{background:var(--vh-surface)!important}

/* Cambio 3 — un solo par de radios (12/8) y un solo color de borde neutro.
   50% se deja intacto: son indicadores circulares (radio de envío, check),
   no "radius" de tarjeta — forzarlos a 8/12px los deformaria en cuadrados. */
body.vh-system #modal-cart :is(
  .cart-item,.vh-cart-totals-wrap,.vh-cart-trust-badges .vh-trust-card,
  .radio-button-content,.vh-cart-trust-accordion>summary,.vh-cart-trust-accordion .vh-cart-trust,
  .vh-cart-mini-card,.btn-primary,.form-quantity,
  [data-store="shipping-calculator"] input.form-control,
  [data-store="shipping-calculator"] .js-calculate-shipping,
  [data-store="shipping-calculator"] .js-shipping-calculator-change-zipcode,
  [data-store="coupon-input"] .js-coupon-form .form-group-inline
){border-radius:var(--vh-radius-lg)!important}
body.vh-system #modal-cart :is(.cart-item img,.vh-cart-mini-card .item-image img,.vh-mini-add-btn){border-radius:var(--vh-radius-sm)!important}
body.vh-system #modal-cart :is(
  .cart-item,.vh-cart-totals-wrap,.vh-cart-trust-badges .vh-trust-card,
  .radio-button-content,.vh-cart-trust-accordion>summary,.vh-cart-trust,
  .vh-cart-mini-card,.form-quantity,
  [data-store="shipping-calculator"] input.form-control,
  [data-store="shipping-calculator"] .radio-button-item,
  [data-store="shipping-calculator"] .radio-button-content,
  [data-store="shipping-calculator"] .list-item
){border-color:var(--vh-border)!important}
/* Opcion de envío seleccionada: borde periwinkle en vez de --vh-border. */
body.vh-system #modal-cart .radio-button input[type="radio"]:checked+.radio-button-content{
  border-color:var(--vh-periwinkle)!important;background:var(--vh-cart-selected-tint)!important;
}
body.vh-system #modal-cart .radio-button input[type="radio"]:checked+.radio-button-content .radio-button-icon.checked{
  background:var(--vh-periwinkle)!important;border-color:var(--vh-periwinkle)!important;color:#000!important;
}
/* Periwinkle solido contenido a un solo lugar: FINALIZAR COMPRA. El check/borde
   de la opcion de envio seleccionada tambien lo usa (ver vanhaus-cart.css),
   pero ningun otro boton. Texto siempre negro sobre periwinkle (blanco da ~2:1). */
body.vh-system #modal-cart :is(.btn-primary,input[name="go_to_checkout"]){
  background:var(--vh-periwinkle)!important;border-color:var(--vh-periwinkle)!important;color:#000!important;
}
body.vh-system #modal-cart :is(.btn-primary,input[name="go_to_checkout"]) :is(span,strong,svg){color:#000!important;fill:#000!important}
/* CALCULAR y CAMBIAR CP bajan a secundario: ya no compiten con FINALIZAR COMPRA. */
body.vh-system #modal-cart :is([data-store="shipping-calculator"] .js-calculate-shipping,.js-shipping-calculator-change-zipcode){
  background:var(--vh-surface)!important;border-color:var(--vh-border)!important;color:var(--vh-text)!important;border-radius:var(--vh-radius-lg)!important;
}
body.vh-system #modal-cart :is([data-store="shipping-calculator"] .js-calculate-shipping,.js-shipping-calculator-change-zipcode) :is(span,strong,svg){
  color:var(--vh-text)!important;fill:var(--vh-text)!important;
}
body.vh-system #modal-cart :is([data-store="shipping-calculator"] .js-calculate-shipping,.js-shipping-calculator-change-zipcode):hover{
  background:var(--vh-raised)!important;border-color:var(--vh-periwinkle)!important;
}
body.vh-system #modal-cart :is([data-store="shipping-calculator"] .js-calculate-shipping,.js-shipping-calculator-change-zipcode):hover :is(span,strong,svg){
  color:var(--vh-text)!important;fill:var(--vh-text)!important;
}
/* Separar CALCULAR del input: ya no es la accion principal, no tiene que leerse
   como un solo bloque fusionado con el campo de texto. */
body.vh-system #modal-cart [data-store="shipping-calculator"] input.form-control{border-radius:var(--vh-radius-lg)!important}
body.vh-system #modal-cart [data-store="shipping-calculator"] .js-calculate-shipping{
  width:auto!important;min-width:0!important;margin-left:8px!important;padding:0 18px!important;
}
body.vh-system #modal-cart [data-store="shipping-calculator"] .form-control-container{flex:1 1 auto!important}

/* Correccion 5b: "Estás ahorrando $X" con el mismo peso que cuotas/transferencia. */
body.vh-system #modal-cart .vh-cart-savings-row,
body.vh-system #modal-cart .vh-cart-savings-row *{color:var(--vh-success,#65df91)!important;font-weight:600!important}
body.vh-system #modal-cart .vh-cart-savings-amount{font-variant-numeric:tabular-nums;font-weight:800!important}

/* Cambio 4 — montos alineados digito a digito. */
body.vh-system #modal-cart :is(
  .js-cart-item-unit-price,.js-cart-item-unit-price-compare-price,.price-compare,
  .js-cart-item-subtotal,.vh-cart-summary-secondary,.vh-cart-summary-total,
  .vh-cart-installments,.vh-cart-transfer-note,[data-vh-transfer-amount],
  .vh-shipping-option-price,.vh-cart-mini-card .item-price,.vh-cart-mini-card .item-installments
){font-variant-numeric:tabular-nums;letter-spacing:0!important}

/* =====================================================================
   Redesign 2026-09-21: price block, spec cards and PDP purchase row.
   Palette: #EFF1F3 text · #A2BEFE accent/CTA · #65DF91 benefit green ·
   #7E7E7E secondary text.
   ===================================================================== */

/* Every price on the site: fixed-width digits. */
body.vh-system :is(.js-price-display,.js-compare-price-display,.item-price,.price-compare,.vh-price,.vh-compare,[data-vh-installment-price],[data-vh-transfer-price],[data-vh-dock-price],.js-cart-total,.js-cart-subtotal,.js-cart-item-subtotal,.vh-price-block){font-variant-numeric:tabular-nums;letter-spacing:0!important}

/* 1. Shared home/PDP payment alternatives: one group, no internal dividers. */
body.vh-system .vh-price-block{display:block;box-sizing:border-box;width:100%;margin:0;font-family:Inter,"Open Sans",Arial,sans-serif;text-align:left;color:#EFF1F3;-webkit-text-fill-color:#EFF1F3;letter-spacing:0}
body.vh-system .vh-price-block__main{min-width:0}
body.vh-system .vh-price-block__top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 5px}
body.vh-system .vh-price-block :is(.vh-price-block__compare,#compare_price_display){margin:0;padding:0;font-family:inherit!important;font-size:14px!important;font-weight:400!important;line-height:1.2;letter-spacing:0!important;color:#7E7E7E!important;-webkit-text-fill-color:#7E7E7E!important;text-decoration:line-through;opacity:1!important}
body.vh-system .vh-price-block .vh-discount-shell{margin:0!important;line-height:1}
body.vh-system .vh-price-block .vh-discount-badge{min-height:0!important;gap:3px;padding:3px 9px!important;border:0!important;border-radius:999px!important;background:#65DF91!important;color:#04342C!important;-webkit-text-fill-color:#04342C!important;font-family:inherit!important;font-size:11px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important;box-shadow:none!important}
body.vh-system .vh-price-block .vh-discount-badge :is(strong,span){font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:0!important;color:inherit!important}
body.vh-system .vh-price-block .tooltip-container{margin:0}
body.vh-system .vh-price-block :is(.vh-price-block__price,#price_display){display:block;margin:0!important;padding:0;font-family:inherit!important;font-size:36px!important;font-weight:500!important;line-height:1.05!important;letter-spacing:0!important;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important;font-variant-numeric:tabular-nums;text-transform:none;white-space:nowrap}
body.vh-system .vh-price-block .vh-price-block__card-label{margin:4px 0 0!important;font-size:12.5px;font-weight:400;line-height:1.4;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important;letter-spacing:0}
body.vh-system .vh-price-block .vh-price-block__installments{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin:13px 0 0!important;font-size:13.5px;font-weight:400;line-height:1.35;letter-spacing:0;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important}
body.vh-system .vh-price-block .vh-price-block__benefit{color:#65DF91!important;-webkit-text-fill-color:#65DF91!important}
body.vh-system .vh-price-block .vh-price-block__installments>.vh-price-block__benefit{font-weight:500;white-space:nowrap}
body.vh-system .vh-price-block .vh-price-block__installment-amount{display:inline-flex;align-items:baseline;gap:7px;white-space:nowrap}
body.vh-system .vh-price-block .vh-price-block__num{font-family:inherit!important;letter-spacing:0!important;font-variant-numeric:tabular-nums;white-space:nowrap}
body.vh-system .vh-price-block .vh-price-block__installments .vh-price-block__num{font-size:17px;font-weight:500}
body.vh-system .vh-price-block .vh-price-block__transfer{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;box-sizing:border-box;min-width:0;margin:9px 0 0;padding:0;border:0;border-radius:0;background:transparent;font-size:13.5px;font-weight:400;line-height:1.35;letter-spacing:0;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important}
body.vh-system .vh-price-block .vh-price-block__transfer-method{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}
body.vh-system .vh-price-block .vh-price-block__transfer-price{font-size:20px;font-weight:500;line-height:1.1;color:#65DF91!important;-webkit-text-fill-color:#65DF91!important}
body.vh-system .vh-price-block .vh-price-block__transfer-label{margin:0;font-size:13.5px;font-weight:400;letter-spacing:0;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important}
body.vh-system .vh-price-block .vh-price-block__transfer-discount{font-size:13px;white-space:nowrap}
body.vh-system .vh-price-block [data-vh-payment-part][hidden]{display:none!important}
@media(max-width:767px){
  body.vh-system .vh-price-block :is(.vh-price-block__price,#price_display){font-size:32px!important}
  body.vh-system .vh-price-block .vh-price-block__installments>.vh-price-block__benefit{font-size:13px}
  body.vh-system .vh-price-block .vh-price-block__installments .vh-price-block__num{font-size:16px}
  body.vh-system .vh-price-block .vh-price-block__transfer-price{font-size:18px}
  body.vh-system .vh-price-block .vh-price-block__desktop-word{display:none}
}

/* Short two-word trust labels exist only for the mobile PDP layout. */
body.vh-system .vh-trust-short{display:none}

/* 3. PDP purchase column: price block between hairlines, quantity beside the CTA. */
body.vh-system.template-product #product_form .vh-buy-row{display:flex;align-items:stretch;gap:12px;width:100%}
body.vh-system.template-product #product_form .vh-buy-row>.vh-pdp-quantity{flex:0 0 auto;width:auto!important;max-width:none!important;padding:0!important;margin:0!important}
body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control{display:flex!important;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;width:auto!important;height:100%;min-height:0!important;padding:0 16px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:10px!important;background:transparent!important}
body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:17px;height:auto;padding:0!important;border:0!important;background:transparent!important;color:#9B9B9B!important;font-size:17px;line-height:1}
body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control button svg{width:17px;height:17px;fill:currentColor;color:#9B9B9B}
body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control input{width:28px!important;min-width:0;height:auto;padding:0!important;border:0!important;background:transparent!important;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important;font-family:"Open Sans",Arial,sans-serif;font-size:15px!important;font-weight:500;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control input::-webkit-inner-spin-button,
body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body.vh-system.template-product #product_form .vh-buy-row .vh-buy-cta{flex:1 1 auto;min-width:0}
body.vh-system.template-product #product_form .vh-buy-row :is(.js-addtocart,.js-addtocart-placeholder){width:100%;margin:0!important;padding:16px!important;border:0!important;border-radius:10px!important;background:#A2BEFE!important;color:#0B0B0B!important;-webkit-text-fill-color:#0B0B0B!important;font-family:"Open Sans",Arial,sans-serif!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:.06em!important;text-transform:uppercase}
@media(max-width:767px){
  /* Mobile keeps quantity and CTA on one row, like desktop. */
  body.vh-system.template-product #product_form .vh-buy-row{flex-direction:row!important;align-items:stretch;gap:10px}
  body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control{gap:8px;padding:0 14px!important}
  body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control button{font-size:16px;min-width:16px}
  body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control button svg{width:16px;height:16px}
  body.vh-system.template-product #product_form .vh-buy-row .vh-pdp-quantity-control input{width:22px!important;font-size:14px!important}
  body.vh-system.template-product #product_form .vh-buy-row :is(.js-addtocart,.js-addtocart-placeholder){padding:15px!important;font-size:13px!important;letter-spacing:.05em!important}

  /* Shipping row: one column so each line reads on a single row. */
  html body.vh-system #product_form .vh-ship-pdp .vh-ship-list{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  html body.vh-system #product_form .vh-ship-pdp .vh-ship-item{align-items:flex-start;gap:10px!important;padding:0!important}
  html body.vh-system #product_form .vh-ship-pdp .vh-ship-icon{flex:0 0 17px!important;width:17px!important;height:17px!important;margin-top:1px!important;color:#9B9B9B!important}
  html body.vh-system #product_form .vh-ship-pdp .vh-ship-icon svg{width:17px!important;height:17px!important}
  html body.vh-system #product_form .vh-ship-pdp .vh-ship-copy strong,
  html body.vh-system #product_form .vh-ship-pdp .vh-ship-copy strong *{font-size:13.5px!important;line-height:1.35!important}
  html body.vh-system #product_form .vh-ship-pdp .vh-ship-copy strong{color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important}
  html body.vh-system #product_form .vh-ship-pdp .vh-ship-copy>span{margin-top:2px!important;font-size:11.5px!important;line-height:1.35!important;color:#7E7E7E!important;-webkit-text-fill-color:#7E7E7E!important}

  /* Trust cards (PDP only, not the cart copy): three open columns between two
     hairlines, lavender icon over a two-word label. */
  html body.vh-system.template-product #vh-pdp-trust:not(.vh-cart-trust-badges *){margin:16px 0 4px!important;padding:16px 0!important;border-top:1px solid rgba(255,255,255,.08)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;border-radius:0!important;background:none!important}
  html body.vh-system.template-product #vh-pdp-trust:not(.vh-cart-trust-badges *) .vh-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  html body.vh-system.template-product #vh-pdp-trust:not(.vh-cart-trust-badges *) .vh-trust-card{flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:0!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:center!important}
  html body.vh-system.template-product #vh-pdp-trust:not(.vh-cart-trust-badges *) .vh-trust-card>svg{width:19px!important;height:19px!important;flex:0 0 19px!important;color:#A2BEFE!important;stroke:#A2BEFE!important}
  html body.vh-system.template-product #vh-pdp-trust:not(.vh-cart-trust-badges *) .vh-trust-card>div{width:100%!important;text-align:center!important}
  html body.vh-system.template-product #vh-pdp-trust:not(.vh-cart-trust-badges *) .vh-trust-card strong{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
  html body.vh-system.template-product #vh-pdp-trust:not(.vh-cart-trust-badges *) .vh-trust-card span{display:none!important}
  html body.vh-system.template-product #vh-pdp-trust:not(.vh-cart-trust-badges *) .vh-trust-short{display:block!important;margin-top:7px;font-style:normal;font-size:11px;font-weight:400;line-height:1.35;color:#EFF1F3;-webkit-text-fill-color:#EFF1F3}

}

/* 4. Home product sections: specs, then price block, then full-width CTA. */
body.vh-system .vh-home .vh-chapter .vh-home-highlights{margin:18px 0 24px!important}
body.vh-system .vh-home .vh-chapter .vh-chapter-purchase{display:block!important;margin-top:0!important;max-width:none!important}
body.vh-system .vh-home .vh-chapter .vh-chapter-actions{display:block!important;width:100%!important;max-width:none!important;margin-top:24px!important}
body.vh-system .vh-home .vh-chapter .vh-chapter-actions>a.vh-btn{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;width:100%!important;min-height:0!important;padding:16px!important;border:0!important;border-radius:10px!important;background:#A2BEFE!important;color:#0B0B0B!important;-webkit-text-fill-color:#0B0B0B!important;font-family:"Open Sans",Arial,sans-serif!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:.06em!important;text-transform:none!important}

/* =====================================================================
   Spec cards, one component in two sizes (2026-09-21).
   No box: internal dividers only, drawn as gradients (strong in the middle,
   fading at the ends) so they never read as table cells. Value in white,
   label in lavender (lavender belongs to the CTA).
     A. PDP "Lo más destacado" (.vh-product-story): value + label + use line.
     B. Home product sections (.vh-home-highlights): value + label.
   ===================================================================== */
body.vh-system :is(.vh-product-story .vh-specs,.vh-home-highlights){--vh-spec-line:rgba(255,255,255,.22);display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;align-items:stretch;position:relative}
body.vh-system :is(.vh-product-story .vh-spec,.vh-home-highlights .vh-home-highlight){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:0!important;box-sizing:border-box;position:relative!important;min-width:0;min-height:0!important;height:auto!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;clip-path:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;text-align:center!important;animation:none!important}
body.vh-system :is(.vh-product-story .vh-spec,.vh-home-highlights .vh-home-highlight)::before{content:none!important;display:none!important}
/* Vertical divider on every column but the last. */
body.vh-system :is(.vh-product-story .vh-spec,.vh-home-highlights .vh-home-highlight)::after{content:''!important;display:block!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:1px!important;height:auto!important;margin:0!important;border:0!important;opacity:1!important;box-shadow:none!important;transform:none!important;background:linear-gradient(to bottom,transparent,var(--vh-spec-line) 30%,var(--vh-spec-line) 70%,transparent)!important}
body.vh-system :is(.vh-product-story .vh-spec,.vh-home-highlights .vh-home-highlight):last-child::after{content:none!important;display:none!important}
body.vh-system :is(.vh-product-story .vh-spec,.vh-home-highlights .vh-home-highlight):hover{background:none!important;transform:none!important;box-shadow:none!important}
body.vh-system :is(.vh-product-story .vh-spec,.vh-home-highlights .vh-home-highlight) dd{order:0!important;margin:0!important;font-family:"Open Sans",Arial,sans-serif!important;font-weight:500!important;line-height:1.15!important;letter-spacing:-.02em!important;white-space:nowrap;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important;font-variant-numeric:tabular-nums}
body.vh-system :is(.vh-product-story .vh-spec,.vh-home-highlights .vh-home-highlight) dt{order:1!important;font-family:"Open Sans",Arial,sans-serif!important;font-size:10px!important;font-weight:500!important;line-height:1.3!important;text-transform:uppercase!important;white-space:normal;color:#A2BEFE!important;-webkit-text-fill-color:#A2BEFE!important}
body.vh-system :is(.vh-product-story .vh-spec,.vh-home-highlights .vh-home-highlight):hover dd{color:#EFF1F3!important}

/* A. PDP "Lo más destacado". The strip spans the same column as "Sobre …"
   below it; the use line is capped at 124px so every description takes
   exactly two lines (measured on all 20 curated lines at 13px: 120-128px works). */
body.vh-system .vh-product-story .vh-specs{width:100%;max-width:none}
body.vh-system .vh-product-story .vh-spec{padding:0 14px!important}
body.vh-system .vh-product-story .vh-spec dd{font-size:30px!important}
body.vh-system .vh-product-story .vh-spec dt{margin:6px 0 0!important;font-size:11px!important;letter-spacing:.12em!important}
body.vh-system .vh-product-story .vh-spec-context{order:2!important;max-width:124px;margin:10px 0 0!important;font-family:"Open Sans",Arial,sans-serif!important;font-size:13px!important;font-style:normal!important;font-weight:400!important;line-height:1.55!important;color:#8A8A8A!important;-webkit-text-fill-color:#8A8A8A!important;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}

/* B. Home product sections: no use line, it would push the price down. */
body.vh-system .vh-home-highlights .vh-home-highlight{padding:0 10px!important}
body.vh-system .vh-home-highlights .vh-home-highlight dd{font-size:19px!important}
body.vh-system .vh-home-highlights .vh-home-highlight dt{margin:5px 0 0!important;letter-spacing:.12em!important}
body.vh-system .vh-home-highlights .vh-spec-context{display:none!important}

@media(max-width:767px){
  /* A mobile: a vertical list with horizontal dividers. */
  body.vh-system .vh-product-story .vh-specs.vh-specs{grid-template-columns:minmax(0,1fr)!important;max-width:none}
  body.vh-system .vh-product-story .vh-spec{padding:14px 0!important}
  body.vh-system .vh-product-story .vh-spec::after{top:auto!important;bottom:0!important;left:0!important;right:0!important;width:auto!important;height:1px!important;background:linear-gradient(to right,transparent,var(--vh-spec-line) 25%,var(--vh-spec-line) 75%,transparent)!important}
  body.vh-system .vh-product-story .vh-spec dd{font-size:22px!important}
  body.vh-system .vh-product-story .vh-spec dt{margin-top:5px!important;font-size:10px!important}
  body.vh-system .vh-product-story .vh-spec-context{max-width:none;margin-top:7px!important;font-size:12px!important}

  /* B mobile: 2x2 with one continuous cross, drawn by the grid itself so the
     lines are strongest where they meet and fade toward the outer edges. */
  body.vh-system .vh-home-highlights.vh-home-highlights{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.vh-system .vh-home-highlights .vh-home-highlight{padding:14px 8px!important}
  body.vh-system .vh-home-highlights .vh-home-highlight::after{content:none!important;display:none!important}
  body.vh-system .vh-home-highlights.vh-home-highlights::before,
  body.vh-system .vh-home-highlights.vh-home-highlights::after{content:'';position:absolute;pointer-events:none}
  body.vh-system .vh-home-highlights.vh-home-highlights::before{top:0;bottom:0;left:50%;width:1px;background:linear-gradient(to bottom,transparent,var(--vh-spec-line) 30%,var(--vh-spec-line) 70%,transparent)}
  body.vh-system .vh-home-highlights.vh-home-highlights::after{left:0;right:0;top:50%;height:1px;background:linear-gradient(to right,transparent,var(--vh-spec-line) 25%,var(--vh-spec-line) 75%,transparent)}
  body.vh-system .vh-home-highlights .vh-home-highlight dd{font-size:18px!important}
  body.vh-system .vh-home-highlights .vh-home-highlight dt{margin-top:4px!important;letter-spacing:.1em!important}
}

/* Sticky buy bar: the transfer price travels with the list price. */
body.vh-system .vh-product-dock .vh-dock-pricing{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0}
body.vh-system .vh-product-dock .vh-dock-transfer{display:block;max-width:none;overflow:visible;text-overflow:clip;font-family:"Open Sans",Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.2;letter-spacing:0;white-space:nowrap;color:#65DF91;-webkit-text-fill-color:#65DF91;font-variant-numeric:tabular-nums}
body.vh-system .vh-product-dock .vh-dock-transfer:empty{display:none}
@media(max-width:767px){
  body.vh-system .vh-product-dock .vh-dock-pricing{grid-area:price;gap:1px}
  body.vh-system .vh-product-dock .vh-dock-transfer{font-size:11px}
}
@media(max-width:380px){
  /* Narrow phones: give the transfer line room before trimming anything else. */
  body.vh-system .vh-product-dock{column-gap:8px}
  body.vh-system .vh-product-dock .vh-dock-cta{padding-left:10px!important;padding-right:10px!important;letter-spacing:0!important}
}

/* One hairline between the price block and shipping: the old container border
   and the shipping snippet padding must not add a second one. */
html body.vh-system #single-product #product_form .vh-pdp-price-quantity{border-bottom:0!important;padding-bottom:0!important;margin-bottom:0!important}

/* =====================================================================
   "Sobre [producto]" (PDP): vertical navigation on the left and one shared
   content column on the right, so switching tabs never changes the width.
   ===================================================================== */
@media(min-width:768px){
  html body.vh-system.template-product .vh-info-grid{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:34px!important;align-items:start!important}
  html body.vh-system.template-product .vh-info-tabs{position:sticky;top:116px;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important}
  html body.vh-system.template-product .vh-info-tab{display:block;width:100%;padding:7px 0 7px 13px!important;border:0!important;border-radius:0!important;background:none!important;color:#7E7E7E!important;-webkit-text-fill-color:#7E7E7E!important;font-size:13px!important;line-height:1.4!important;text-align:left!important;white-space:normal}
  html body.vh-system.template-product .vh-info-tab[aria-selected="true"]{padding-left:11px!important;border-left:2px solid #A2BEFE!important;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important}
  html body.vh-system.template-product .vh-info-panels{min-width:0;padding-top:0!important}
}
/* Every tab uses the full content column. */
html body.vh-system.template-product .vh-info-panel,
html body.vh-system.template-product .vh-info-panel .vh-info-body{width:100%;max-width:none!important}
html body.vh-system.template-product .vh-info-panel .vh-info-body :is(p,li,h1,h2,h3,h4,h5,h6){max-width:none!important}

/* Preguntas: full-width rows, icon on the right edge, whole row clickable. */
html body.vh-system.template-product .vh-faq-item{margin:0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;background:none!important}
html body.vh-system.template-product .vh-faq-item:last-child{border-bottom:0!important}
html body.vh-system.template-product .vh-faq-item>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px;width:100%;box-sizing:border-box;padding:14px 0!important;cursor:pointer;list-style:none;font-size:13px!important;font-weight:500!important;line-height:1.45!important;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important}
html body.vh-system.template-product .vh-faq-item:first-child>summary{padding-top:14px!important}
html body.vh-system.template-product .vh-faq-item>summary::after{content:''!important;flex:0 0 16px!important;width:16px!important;height:16px!important;margin-left:auto;color:#A2BEFE!important;background:linear-gradient(currentColor,currentColor) center/16px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 16px no-repeat!important;font-size:0!important}
html body.vh-system.template-product .vh-faq-item[open]>summary::after{content:''!important;background:linear-gradient(currentColor,currentColor) center/16px 1.5px no-repeat!important}
html body.vh-system.template-product .vh-faq-answer{padding:0 0 14px!important}
html body.vh-system.template-product .vh-faq-answer :is(p,li,span,strong){margin:0;color:#B8B8B8!important;-webkit-text-fill-color:#B8B8B8!important;font-size:12.5px!important;font-weight:400!important;line-height:1.7!important}

/* Especificaciones: label/value rows, no header row, no cell boxes. The
   description HTML carries inline table styles, hence the !important. */
html body.vh-system.template-product .vh-info-specifications .vh-info-body table{display:block!important;width:100%!important;margin:0!important;border:0!important;border-collapse:separate!important;background:none!important}
html body.vh-system.template-product .vh-info-specifications .vh-info-body :is(thead,tr:not(:has(>td))){display:none!important}
html body.vh-system.template-product .vh-info-specifications .vh-info-body tbody{display:block!important}
html body.vh-system.template-product .vh-info-specifications .vh-info-body tr{display:flex!important;gap:0;padding:10px 0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;background:none!important}
html body.vh-system.template-product .vh-info-specifications .vh-info-body tbody tr:last-child{border-bottom:0!important}
html body.vh-system.template-product .vh-info-specifications .vh-info-body :is(th,td){display:block!important;width:auto!important;padding:0!important;border:0!important;background:none!important;font-size:12.5px!important;font-weight:400!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;color:#EFF1F3!important;-webkit-text-fill-color:#EFF1F3!important}
html body.vh-system.template-product .vh-info-specifications .vh-info-body tr>:first-child{flex:0 0 150px!important;width:150px!important;padding-right:16px!important;box-sizing:border-box;color:#7E7E7E!important;-webkit-text-fill-color:#7E7E7E!important}
html body.vh-system.template-product .vh-info-specifications .vh-info-body tr>:not(:first-child){flex:1 1 auto;min-width:0}
@media(max-width:767px){
  html body.vh-system.template-product .vh-info-specifications .vh-info-body tr{flex-direction:column!important;gap:2px}
  html body.vh-system.template-product .vh-info-specifications .vh-info-body tr>:first-child{flex:0 0 auto!important;width:auto!important;padding-right:0!important}
}
/* A closed question shows one line (the row's). The question/answer divider
   exists only while the answer is open. */
html body.vh-system.template-product .vh-faq-item>summary{margin:0!important;border:0!important;border-bottom:0!important}
html body.vh-system.template-product .vh-faq-item[open]>summary{margin-bottom:14px!important;border-bottom:1px solid rgba(255,255,255,.07)!important}

/* Imported reviews: the same container width as Sobre, without card surfaces. */
body.vh-system .vh-product-reviews .vh-kicker{color:#A2BEFE}
body.vh-system .vh-review-entries{width:100%;margin:0;padding:0}
body.vh-system .vh-review-entry{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.08);background:none;overflow-wrap:anywhere}
body.vh-system .vh-review-entry:last-child,
body.vh-system .vh-product-reviews .vh-review-entry.is-last-visible{border-bottom:0}
body.vh-system .vh-review-entry[hidden],body.vh-system .vh-review-footer[hidden]{display:none!important}
body.vh-system .vh-review-top{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:8px}
body.vh-system .vh-review-author{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
body.vh-system .vh-review-initial{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:999px;background:rgba(162,190,254,.15);color:#A2BEFE;font-size:12px;font-weight:500}
body.vh-system .vh-review-author strong{font-size:13px;font-weight:500;color:#EFF1F3}
body.vh-system .vh-review-verified{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:400;color:#65DF91}
body.vh-system .vh-review-verified svg{flex:0 0 13px}
body.vh-system .vh-review-variant{font-size:11px;color:#7E7E7E}
body.vh-system .vh-review-body{padding-left:37px}
body.vh-system .vh-review-detail{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}
body.vh-system .vh-review-entry-stars{font-size:12px;letter-spacing:1px;line-height:1.5;color:#EF9F27}
body.vh-system .vh-review-entry-stars .is-empty{color:#4A4A4A}
body.vh-system .vh-review-text{margin:0;font-size:13px;line-height:1.65;color:#C8C8C8}
body.vh-system .vh-review-no-comment{margin:0;font-size:12.5px;line-height:1.65;color:#7E7E7E;font-style:italic}
body.vh-system .vh-review-reply{margin:14px 0 0 12px;padding-left:14px;border-left:1px solid rgba(162,190,254,.25)}
body.vh-system .vh-review-reply strong{font-size:11px;font-weight:500;color:#A2BEFE}
body.vh-system .vh-review-reply p{margin:5px 0 0;font-size:12.5px;line-height:1.65;color:#C8C8C8}
body.vh-system .vh-review-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
body.vh-system .vh-review-footer button{padding:0;min-height:32px;border:0;border-radius:0;background:none;color:#A2BEFE;font:inherit;font-size:12.5px;text-align:left;cursor:pointer}
body.vh-system .vh-review-footer button:hover{text-decoration:underline}
body.vh-system .vh-review-footer button:focus-visible{outline:2px solid #A2BEFE;outline-offset:5px}
@media(max-width:767px){
  body.vh-system .vh-review-top{flex-wrap:wrap}
  body.vh-system .vh-review-body{padding-left:0}
  body.vh-system .vh-review-author strong,body.vh-system .vh-review-text{font-size:12.5px}
  body.vh-system .vh-review-footer{flex-direction:column;align-items:flex-start}
}

/* =====================================================================
   Reviews header (PDP): distribution + filter chips with volume (25+),
   a single "Mostrando X de N" row below that. Sort control in both modes.
   ===================================================================== */
body.vh-system .vh-product-reviews .vh-review-entry[hidden]{display:none!important}
/* The summary block carries the average in full mode; the heading score is
   kept only in the simple mode, next to the title as before. */
body.vh-system .vh-product-reviews.vh-reviews-full .vh-reviews-heading .vh-reviews-score{display:none!important}

body.vh-system .vh-review-overview{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;align-items:center;margin:0 0 16px;padding:0 0 18px;border-bottom:1px solid rgba(255,255,255,.08)}
body.vh-system .vh-review-overview__score{display:flex;flex-direction:column;align-items:center;text-align:center}
body.vh-system .vh-review-overview__avg{display:block;font-family:"Open Sans",Arial,sans-serif;font-size:34px;font-weight:500;line-height:1;letter-spacing:0;color:#EFF1F3;-webkit-text-fill-color:#EFF1F3;font-variant-numeric:tabular-nums}
body.vh-system .vh-review-overview__stars{display:block;margin-top:6px;font-size:13px;line-height:1;letter-spacing:1px;color:#EF9F27;-webkit-text-fill-color:#EF9F27}
body.vh-system .vh-review-overview__count{display:block;margin-top:5px;font-size:11px;line-height:1.3;color:#7E7E7E;-webkit-text-fill-color:#7E7E7E}
body.vh-system .vh-reviews-dist{margin:0;padding:0;list-style:none}
body.vh-system .vh-reviews-dist__row{display:flex;align-items:center;gap:9px;margin:0 0 5px}
body.vh-system .vh-reviews-dist__row:last-child{margin-bottom:0}
body.vh-system .vh-reviews-dist__label{flex:0 0 26px;width:26px;font-size:11px;line-height:1.3;color:#7E7E7E;white-space:nowrap}
body.vh-system .vh-reviews-dist__bar{position:relative;flex:1 1 auto;height:5px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
body.vh-system .vh-reviews-dist__fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:999px;background:#65DF91}
body.vh-system .vh-reviews-dist__count{flex:0 0 20px;width:20px;font-size:11px;line-height:1.3;text-align:right;color:#7E7E7E;font-variant-numeric:tabular-nums}

body.vh-system .vh-reviews-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:0 0 4px}
body.vh-system .vh-reviews-simple .vh-reviews-toolbar{margin:0;padding:0 0 13px;border-bottom:1px solid rgba(255,255,255,.08)}
body.vh-system .vh-reviews-chips{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
body.vh-system .vh-reviews-chip{display:inline-flex;align-items:center;margin:0;padding:6px 13px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:none;color:#C8C8C8;-webkit-text-fill-color:#C8C8C8;font:400 11.5px/1.2 "Open Sans",Arial,sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;box-shadow:none}
body.vh-system .vh-reviews-chip.is-active{border-color:#A2BEFE;background:#A2BEFE;color:#0B0B0B;-webkit-text-fill-color:#0B0B0B}
body.vh-system .vh-reviews-chip:disabled{opacity:.4;cursor:default}
body.vh-system .vh-reviews-chip:focus-visible{outline:2px solid #A2BEFE;outline-offset:2px}
body.vh-system .vh-reviews-showing{margin:0;font-size:12px;line-height:1.3;color:#7E7E7E;-webkit-text-fill-color:#7E7E7E}
body.vh-system .vh-reviews-sort{position:relative;display:inline-flex;align-items:center;margin:0 0 0 auto;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:none;cursor:pointer}
body.vh-system .vh-reviews-sort select{-webkit-appearance:none;appearance:none;width:auto;height:auto;min-height:0;margin:0;padding:7px 33px 7px 12px!important;border:0!important;border-radius:8px;background:transparent!important;box-shadow:none!important;color:#EFF1F3;-webkit-text-fill-color:#EFF1F3;font:400 12px/1.2 "Open Sans",Arial,sans-serif;cursor:pointer}
body.vh-system .vh-reviews-sort select option{background:#111;color:#EFF1F3}
body.vh-system .vh-reviews-sort select:focus-visible{outline:2px solid #A2BEFE;outline-offset:2px}
body.vh-system .vh-reviews-sort svg{position:absolute;right:12px;top:50%;width:14px;height:14px;transform:translateY(-50%);color:#7E7E7E;pointer-events:none}

@media(max-width:767px){
  body.vh-system .vh-review-overview{grid-template-columns:minmax(0,1fr);gap:16px}
  body.vh-system .vh-review-overview__avg{font-size:30px}
  /* Chips stay on one scrollable line; the sort drops to its own row, right-aligned. */
  body.vh-system .vh-reviews-full .vh-reviews-toolbar{flex-direction:column;align-items:stretch;gap:10px}
  body.vh-system .vh-reviews-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body.vh-system .vh-reviews-chips::-webkit-scrollbar{display:none}
  body.vh-system .vh-reviews-chip{flex:0 0 auto}
  body.vh-system .vh-reviews-full .vh-reviews-sort{align-self:flex-end}
}
/* Reviews: empty state, one centered line plus the invitation. */
body.vh-system .vh-reviews-empty__body{padding:22px 0 8px;text-align:center}
body.vh-system .vh-reviews-empty__text{margin:0;font-size:13px;line-height:1.5;color:#7E7E7E;-webkit-text-fill-color:#7E7E7E}
body.vh-system .vh-reviews-empty__link{display:inline-block;margin-top:6px;font-size:13px;line-height:1.5;color:#A2BEFE;-webkit-text-fill-color:#A2BEFE;text-decoration:underline;text-underline-offset:3px}
/* FAQ icon without flex on <summary> (Safari/iOS can ignore flex there and
   drop the icon): the row reserves 32px on the right and the +/- sits
   absolutely in that space, vertically centered. The whole row stays clickable. */
html body.vh-system.template-product .vh-faq-item>summary{position:relative!important;display:block!important;padding-right:32px!important}
html body.vh-system.template-product .vh-faq-item>summary::after{position:absolute!important;right:0!important;top:50%!important;margin:0!important;transform:translateY(-50%)!important;display:block!important}
/* Reviews distribution (desktop): bars capped at 400px next to the average;
   the remaining width stays empty on the right. */
@media(min-width:768px){
  body.vh-system .vh-review-overview{grid-template-columns:150px minmax(0,400px);justify-content:start}
}
/* Unverified reviews carry their own label where the green one would go,
   and the section explains what "verified" means. */
body.vh-system .vh-review-unverified{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:1.3;color:#7E7E7E;-webkit-text-fill-color:#7E7E7E}
body.vh-system .vh-review-unverified svg{flex:0 0 12px;width:12px;height:12px;color:#7E7E7E}
body.vh-system .vh-reviews-note{margin:14px 0 0;font-size:11.5px;line-height:1.5;color:#7E7E7E;-webkit-text-fill-color:#7E7E7E}
/* CTA colour is never dimmed. Hover lightens the lavender (#A2BEFE x1.08)
   instead of the old desaturated #7d92bc, which read as a disabled button. */
body.vh-system{--vh-cta-hover:#AFCDFF}
body.vh-system .vh-ship-home .vh-ship-cta:hover{border-color:#AFCDFF;background:#AFCDFF}
html body.vh-system .vh-home .vh-chapter .vh-chapter-actions>a.vh-btn-solid:not(:disabled):hover,
html body.vh-system .vh-home-intro a.vh-home-catalog-cta.vh-home-catalog-cta:hover,
html body.vh-system.template-product #product_form .vh-buy-row .js-addtocart:not(:disabled):hover{filter:brightness(1.08)!important}
/* Price and CTA enter together when the four spec cards come into view. */
html.vh-home-timeline-ready body.vh-system .vh-home .vh-chapter-stage>.vh-chapter[data-vh-revealed="false"] :is(.vh-chapter-purchase>.vh-price-block,.vh-chapter-purchase>.vh-stock,.vh-chapter-actions){transition:opacity .24s ease-out,transform .24s cubic-bezier(.22,.75,.25,1)!important}
html.vh-home-timeline-ready body.vh-system .vh-home .vh-chapter-stage>.vh-chapter[data-vh-revealed="false"] .vh-chapter-actions{opacity:var(--vh-actions-opacity,0)!important}

/* Catalog cards, mobile: one centered line per payment method, and the stock
   badge built like the use tag (same height, same top) so both read as a pair. */
body.vh-system .vh-payment-benefits__short{display:none}
@media(max-width:767px){
  body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .vh-payment-benefits--compact .vh-payment-benefits__short{display:block;text-align:center}
  body.vh-system :is(.category-body,.vh-related-catalog:not(.vh-cart-recommendations)) .vh-payment-benefits--compact :is(.vh-payment-benefits__installments,.vh-payment-benefits__transfer){position:absolute!important;width:1px!important;height:1px!important;margin:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
  body.vh-system .vh-payment-benefits__short-line{margin:0!important;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:0;white-space:nowrap;color:#EFF1F3;-webkit-text-fill-color:#EFF1F3}
  body.vh-system .vh-payment-benefits__short-line+.vh-payment-benefits__short-line{margin-top:2px!important}
  body.vh-system .vh-payment-benefits__short-line strong{font-weight:800;letter-spacing:0;color:#fff;-webkit-text-fill-color:#fff;font-variant-numeric:tabular-nums}
  body.vh-system .vh-payment-benefits__short-line .vh-payment-benefits__accent{color:#65DF91!important;-webkit-text-fill-color:#65DF91!important}

  html body.vh-system :is(.template-category .category-body,.vh-related-catalog) .vh-stock-badge{box-sizing:border-box;height:27px;top:8px!important;left:8px!important;padding:0 10px 0 8px!important;line-height:1!important;align-items:center}
}
@media(max-width:359px){
  body.vh-system .vh-payment-benefits__short-line{font-size:10.5px}
}

/* PDP gallery: keep mixed photo ratios fully visible inside a stable square. */
body.vh-system.template-product .vh-native-gallery .product-image-container,
body.vh-system.template-product .vh-native-gallery .swiper-slide{background:#15171a!important}
body.vh-system.template-product .vh-native-gallery .product-image-container .product-slider-image{object-fit:contain!important;object-position:center!important}
body.vh-system.template-product .vh-native-gallery .product-thumb{background:#15171a!important;border-color:#3b3f47!important;box-shadow:none!important}
body.vh-system.template-product .vh-native-gallery .product-thumb img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;transform:none!important;object-fit:contain!important;object-position:center!important}
@media(min-width:768px){body.vh-system.template-product .vh-native-gallery .vh-gallery-rail .product-thumb{height:auto!important;aspect-ratio:1/1;box-sizing:border-box}}
body.vh-system.template-product .vh-native-gallery .product-thumb.selected{border-color:#a2befe!important;box-shadow:inset 0 0 0 1px #a2befe!important}
body.vh-system.template-product .vh-native-gallery .vh-gal-nav{width:38px;height:38px;border:1px solid #ffffff36;background:#11151bba;box-shadow:0 4px 14px #0007}
body.vh-system.template-product .vh-native-gallery .vh-gal-nav svg{width:13px;height:13px;fill:#f2f4fa}
body.vh-system.template-product .vh-native-gallery .vh-gallery-rail{scrollbar-width:none}
body.vh-system.template-product .vh-native-gallery .vh-gallery-rail::-webkit-scrollbar{display:none}
/* The native lightbox must sit above the sticky store header. */
body.vh-system.template-product .fancybox__container,
body.vh-system.template-product .fancybox-container{z-index:2147483000!important}
@media(max-width:767px){
  body.vh-system.template-product .vh-native-gallery .js-swiper-product-pagination{display:none!important}
  body.vh-system.template-product .vh-native-gallery .vh-gallery-rail{margin-top:12px!important;padding-bottom:3px!important;gap:8px!important}
  body.vh-system.template-product .vh-native-gallery .product-thumb{flex:0 0 58px!important;width:58px!important;height:58px!important;border-radius:8px!important}
}

/* Restore the shared category colors on catalog use labels. */
body.vh-system.template-category .category-body :is(.vanhaus-grid-use,.vanhaus-grid-use-inline).vh-product-use-tag{
  background:var(--vh-product-use-color)!important;
  border-color:var(--vh-product-use-color)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.vh-system.template-category .category-body .vh-product-use-tag-gamer{--vh-product-use-color:#7c3aed!important}
body.vh-system.template-category .category-body .vh-product-use-tag-hifi{--vh-product-use-color:#d31f2f!important}
body.vh-system.template-category .category-body .vh-product-use-tag-health{--vh-product-use-color:#14b8a6!important}
body.vh-system.template-category .category-body .vh-product-use-tag-daily{--vh-product-use-color:#64748b!important}
body.vh-system.template-category .category-body .vh-product-use-tag-anc{--vh-product-use-color:#2563eb!important}
body.vh-system.template-category .category-body .vh-product-use-tag-sport{--vh-product-use-color:#f97316!important}
