[data-vi-gallery]{display:none!important}
.product-miniature .product-thumbnail.vi-hover-surface{position:relative;overflow:hidden}
.product-miniature .product-thumbnail img.vi-card-hover-frame{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;object-fit:contain;background:var(--white,#fff);opacity:0;pointer-events:none;transition:opacity 160ms ease}
.product-miniature .product-thumbnail img.vi-card-hover-frame.is-visible{opacity:1}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.product-miniature .vi-card-hover-frame{display:none!important;transition:none!important}}

/* Vasos Impresos: natural-height cards and a compact mobile storefront. */
.product-miniature .thumbnail-container{height:100%;min-height:0;display:flex;flex-direction:column;background:#fff;transition:box-shadow 160ms ease,border-color 160ms ease}
.product-miniature .thumbnail-top{flex:0 0 auto;min-width:0}
.product-miniature .product-thumbnail{display:block;width:100%;margin:0}
.product-miniature .product-thumbnail picture{display:block;aspect-ratio:1;background:#fff}
.product-miniature .product-thumbnail picture>img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain;margin:0}
.product-miniature .product-description{position:static!important;width:100%!important;height:auto!important;flex:1 1 auto;padding:14px 12px 16px;background:#fff;text-align:left}
.product-miniature .product-title{margin:0 0 7px;line-height:1.3;text-align:left;min-height:2.6em}
.product-miniature .product-title a{font-size:16px;font-weight:700;text-transform:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.product-miniature .vi-card-pack{margin:0 0 10px;color:#4e6b82;font-size:13px;line-height:1.4}
.product-miniature .product-price-and-shipping{text-align:left;line-height:1.4}
.product-miniature .price{font-size:20px;font-weight:800;color:var(--vi-navy);white-space:nowrap}
.product-miniature .vi-card-price-note{font-size:11px;line-height:1.5;color:#4e6b82;margin:5px 0 0}
@media(hover:hover) and (pointer:fine){.product-miniature .thumbnail-container:hover{border-color:var(--vi-blue);box-shadow:0 8px 24px rgba(5,76,130,.1)}}
@media(max-width:767px){
 #wrapper{padding-top:12px}
 #wrapper>.container{width:100%;max-width:100%;padding-left:12px;padding-right:12px}
 #wrapper>.container>.row{margin-left:0;margin-right:0}
 #content-wrapper,#left-column,#right-column{min-width:0;padding-left:0;padding-right:0}
 #main,#content{min-width:0}
 .vi-commerce-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 12px}
 .vi-store-label{display:none}
 .vi-store-search{grid-column:1;min-width:0;order:initial}
 .vi-store-tools{grid-column:2;gap:6px;margin:0;justify-self:end}
 .vi-store-tools .user-info>a,.vi-store-tools .blockcart .header>a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
 .vi-store-tools .hidden-sm-down{display:none!important}
 .vi-store-search #search_widget input[type=text]{font-size:16px;padding-left:12px}
 .vi-shop-hero{grid-template-columns:minmax(0,1fr) 100px;gap:12px;padding:18px 16px;margin-bottom:20px;border-radius:18px}
 .vi-shop-hero h1{font-size:27px;line-height:1.06;letter-spacing:-.045em;margin-bottom:12px}
 .vi-shop-hero .vi-eyebrow{font-size:10px;line-height:1.4;letter-spacing:.08em;margin-bottom:8px}
 .vi-shop-hero p:not(.vi-eyebrow){display:none}
 .vi-shop-hero img{max-height:150px;object-fit:contain}
 .vi-shop-hero .btn{padding:10px 14px;font-size:13px;min-height:44px;white-space:normal}
 .vi-shop-products{margin:16px 0 28px}
 .featured-products .products-section-title{font-size:24px;line-height:1.2;margin-bottom:16px;text-align:left;text-transform:none}
 #products .products,.featured-products .products,.product-accessories .products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0!important;justify-content:initial}
 #products .products>.js-product,.featured-products .products>.js-product,.product-accessories .products>.js-product{width:auto!important;max-width:none!important;min-width:0;float:none;padding:0!important;margin:0!important}
 .product-miniature{width:100%;height:100%;margin:0!important;min-width:0}
 .product-miniature .thumbnail-container{width:100%;border-radius:15px;margin:0}
 .product-miniature .product-description{padding:11px 10px 13px}
 .product-miniature .product-title{margin-bottom:6px}
 .product-miniature .product-title a{font-size:14px;line-height:1.3}
 .product-miniature .vi-card-pack{font-size:12px;margin-bottom:8px}
 .product-miniature .price{font-size:18px}
 .product-miniature .product-price-and-shipping{padding:0;min-height:0}
 .product-miniature .vi-card-price-note{font-size:11px}
 .product-miniature .product-flags li.product-flag{font-size:10px;line-height:1.3;padding:5px 7px;min-height:0}
 #products .products-selection{margin:0 0 16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
 #products .products-selection>.col-md-6{width:100%;padding:0}
 .products-sort-order .select-title,#search_filters .facet .facet-label a{min-height:44px}
 #product #main>.row{margin-left:0;margin-right:0}
 #product #main>.row>[class*=col-]{min-width:0;padding-left:0;padding-right:0}
 #product h1{font-size:27px;line-height:1.15;text-transform:none;overflow-wrap:anywhere}
 #product .product-cover img{width:100%;height:auto;border-radius:16px}
 #product .images-container{margin-bottom:20px}
 #product .current-price{font-size:28px;line-height:1.2}
 #product .product-variants-item{margin-bottom:16px}
 #product .product-variants-item select{font-size:16px;min-height:48px;max-width:100%;width:100%;border-radius:12px}
 #product .product-add-to-cart .product-quantity{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
 #product .product-add-to-cart .qty,#product .product-add-to-cart .add{margin:0}
 #product .product-add-to-cart .add{flex:1 1 190px}
 #product .product-add-to-cart .add-to-cart{width:100%;min-height:48px;white-space:normal}
 #product .tabs{padding:16px;border-radius:16px}
 #wrapper input[type=text],#wrapper input[type=email],#wrapper input[type=tel],#wrapper input[type=password],#wrapper input[type=number],#wrapper select,#wrapper textarea{font-size:16px;max-width:100%}
 #checkout section.checkout-step{padding:16px 12px;border-radius:16px;margin-bottom:12px}
 #checkout .step-title{font-size:19px;line-height:1.3}
 #checkout .continue,#cart .cart-detailed-actions .btn{min-height:48px;width:100%;white-space:normal}
 #cart .cart-grid.row{margin-left:0;margin-right:0}
 #cart .cart-grid-body,#cart .cart-grid-right{padding-left:0;padding-right:0;min-width:0}
 #cart .product-line-info .label{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
 .pagination{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
 .pagination>div{padding-left:0;padding-right:0}
 .vi-site-chrome .floating-actions{right:max(12px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom))}
}
@media(max-width:359px){.vi-shop-hero{grid-template-columns:minmax(0,1fr) 78px;padding:16px 12px}.vi-shop-hero h1{font-size:24px}.product-miniature .price{font-size:16px}.product-miniature .product-description{padding-left:8px;padding-right:8px}}
@media(prefers-reduced-motion:reduce){.product-miniature .thumbnail-container{transition:none}}

/* Preserve native TouchSpin events; arrange its controls in one touch-friendly row. */
:is(#product #main,.quickview) .product-quantity .bootstrap-touchspin{display:inline-flex;align-items:stretch;flex-wrap:nowrap;width:150px;height:48px;max-width:100%;border:1px solid var(--vi-line);border-radius:13px;overflow:hidden;background:#fff}
:is(#product #main,.quickview) .bootstrap-touchspin .input-group-btn-vertical,:is(#product #main,.quickview) .bootstrap-touchspin .input-group-btn{display:contents!important}
:is(#product #main,.quickview) .bootstrap-touchspin #quantity_wanted{order:2;float:none!important;flex:0 0 56px;width:56px!important;min-width:0;max-width:56px;height:46px!important;min-height:46px;border:0!important;border-radius:0;margin:0!important;padding:0 4px;text-align:center;font-size:16px;box-shadow:none}
:is(#product #main,.quickview) .bootstrap-touchspin .bootstrap-touchspin-down,:is(#product #main,.quickview) .bootstrap-touchspin .bootstrap-touchspin-up{position:static!important;float:none!important;flex:0 0 46px;display:flex;align-items:center;justify-content:center;width:46px!important;min-width:46px;height:46px!important;min-height:46px;margin:0!important;padding:0!important;border:0!important;border-radius:0;background:var(--vi-paper);color:var(--vi-navy);font-size:24px;font-weight:700;line-height:1;touch-action:manipulation}
:is(#product #main,.quickview) .bootstrap-touchspin .bootstrap-touchspin-down{order:1}
:is(#product #main,.quickview) .bootstrap-touchspin .bootstrap-touchspin-up{order:3}
:is(#product #main,.quickview) .bootstrap-touchspin .bootstrap-touchspin-down::after{content:'−'}
:is(#product #main,.quickview) .bootstrap-touchspin .bootstrap-touchspin-up::after{content:'+'}
:is(#product #main,.quickview) .bootstrap-touchspin .bootstrap-touchspin-down i,:is(#product #main,.quickview) .bootstrap-touchspin .bootstrap-touchspin-up i{display:none}
:is(#product #main,.quickview) .bootstrap-touchspin button:hover{background:#e4f6ff}
:is(#product #main,.quickview) .bootstrap-touchspin button:disabled{opacity:.45}
:is(#product #main,.quickview) .bootstrap-touchspin button:focus-visible{outline:3px solid var(--vi-yellow);outline-offset:-3px}

@media(max-width:767px){.quickview .product-quantity{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.quickview .product-quantity .qty,.quickview .product-quantity .add{margin:0}.quickview .product-quantity .add{flex:1 1 180px}.quickview .add-to-cart{width:100%;min-height:48px;white-space:normal}.quickview .product-variants-item select{font-size:16px;min-height:48px;max-width:100%}}

.vi-variant-status{margin:8px 0;color:var(--vi-navy);font-size:13px;line-height:1.4}.vi-variant-status a{text-decoration:underline}

.vi-variant-retry{border:0;background:transparent;color:var(--vi-blue);text-decoration:underline;cursor:pointer;padding:6px;min-height:44px;font:inherit}

/* Native radio inputs styled as clearly selected, touch-friendly printing buttons. */
.product-variants #group_1{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:460px;margin:10px 0 18px;padding:0;list-style:none}
.product-variants #group_1 .input-container{float:none!important;width:auto;min-width:0;margin:0}
.product-variants #group_1 label{display:block;position:relative;margin:0;cursor:pointer}
.product-variants #group_1 input.input-radio{position:absolute!important;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.product-variants #group_1 .radio-label{display:flex;align-items:center;justify-content:center;min-height:50px;margin:0;padding:12px 14px;border:2px solid var(--vi-line);border-radius:13px;box-shadow:none;background:#fff;color:var(--vi-navy);font-size:16px;font-weight:700;line-height:1.25;text-align:center;white-space:normal}
.product-variants #group_1 input:checked+.radio-label{border-color:var(--vi-navy);background:var(--vi-navy);color:#fff;box-shadow:none}
.product-variants #group_1 input:focus-visible+.radio-label{outline:3px solid var(--vi-yellow);outline-offset:3px}
.product-variants #group_1 input:disabled+.radio-label{opacity:.5}
