/* Cantidades, navegación y controles táctiles. */
.tv-buy-control{display:flex;flex-direction:column;gap:5px;align-items:flex-end;min-width:0}
.tv-buy-control [hidden]{display:none!important}
.tv-buy-wide{align-items:stretch;width:100%;margin:10px 0}
.tv-qty-stepper{display:inline-flex;align-items:center;justify-content:center;gap:4px;max-width:100%}
.tv-qty-stepper button{width:36px;height:36px;min-width:36px;padding:0;border:1px solid #b8d5db;border-radius:9px;background:#fff;color:#075b6e;font:inherit;font-size:20px;line-height:1;cursor:pointer;touch-action:manipulation}
.tv-qty-stepper button:disabled{opacity:.4;cursor:default}
.tv-qty-stepper input{width:58px;min-width:0;height:36px;border:1px solid #b8d5db;border-radius:8px;text-align:center;padding:3px;font-size:16px;font-weight:700;background:#fff;color:#143743;appearance:textfield;-moz-appearance:textfield}
.tv-qty-stepper input::-webkit-outer-spin-button,.tv-qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tv-qty-stepper [data-quantity-value]{min-width:28px;text-align:center;font-size:15px;font-weight:750}
.tv-buy-wide .tv-qty-stepper{justify-content:flex-start}
.tv-buy-wide .tv-qty-stepper button{width:44px;height:44px}
.tv-buy-wide .tv-qty-stepper input{height:44px;width:70px}
.tv-quantity-caption{max-width:100%;font-size:12px;line-height:1.45;color:#45636e;overflow-wrap:anywhere}
.product-bottom:has(.tv-buy-control){align-items:flex-start;gap:8px}
.product-bottom:has([data-quantity-stepper]:not([hidden])){flex-wrap:wrap}
.product-bottom:has([data-quantity-stepper]:not([hidden])) .tv-buy-control{margin-left:auto}
.product-bottom .tv-quantity-caption{font-size:11px;text-align:right}
.cart-product-link{font-weight:700;color:inherit;touch-action:manipulation}
.cart-product-link:hover{text-decoration:underline;text-underline-offset:3px}
.cart-row>a:first-child{display:block;width:88px}
.tv-cart-summary{font-size:15px;font-weight:650;color:#236075;margin:8px 0}
.tv-cart-line-price{white-space:nowrap}
.tv-pagination{display:flex;flex-direction:column;gap:12px;max-width:100%;margin:28px 0 12px}
.tv-page-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.tv-page-actions .button{min-height:40px;padding:8px 13px;font-size:14px}
.tv-page-numbers{display:flex;align-items:center;gap:6px;max-width:100%;overflow-x:auto;padding:4px;overscroll-behavior-x:contain;scrollbar-width:thin}
.tv-page-number{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:38px;height:40px;padding:0 9px;border:1px solid #c3dce1;border-radius:9px;background:white;color:#075b6e;font-size:15px;font-weight:650;touch-action:manipulation}
.tv-page-number.active{background:#087f90;color:#fff;border-color:#087f90}
.tv-page-gap{padding:0 4px;color:#617d87}
.tv-page-jump{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:14px}
.tv-page-jump input[type=number]{width:78px;height:40px;border:1px solid #bdd5dc;border-radius:8px;padding:5px;text-align:center;font-size:16px;background:white}
.tv-page-jump .button{min-height:40px;padding:8px 14px}
.product-card-link,.sales-chat button,.thumbnails button{touch-action:manipulation}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:900px),(hover:none) and (pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select,.sales-chat input,.sales-chat textarea,.search input{font-size:16px!important}
  .sales-chat{max-height:min(620px,calc(var(--tv-chat-visible-height,100dvh) - 125px))}
  .sales-chat.tv-chat-keyboard{bottom:calc(var(--tv-chat-keyboard-gap,0px) + 8px);max-height:calc(var(--tv-chat-visible-height,100dvh) - 16px)}
}
@media(max-width:640px){
  .cart-row{grid-template-columns:64px minmax(0,1fr);gap:9px 12px;padding:15px 0}
  .cart-row>a:first-child{width:64px;grid-column:1;grid-row:1}
  .cart-row img{width:64px;height:64px}
  .cart-row>div:nth-child(2){grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}
  .tv-cart-quantity{grid-column:2;grid-row:2;align-items:flex-start}
  .tv-cart-line-price{grid-column:2;grid-row:3}
  .tv-page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px}
  .tv-page-actions .button{text-align:center;font-size:13px;padding:8px}
  .tv-page-jump>span{flex-basis:100%;text-align:center}
  .tv-page-number{min-width:36px}
}
