/* Compra móvil: conserva las columnas, colores, imágenes y textos del tema. */
body.tienda-body.cart-bloqueado { overflow: hidden; }
body.tienda-body.cart-bloqueado .vc-pop,
body.tienda-body.cart-bloqueado .vc-wa,
body.tienda-body.cart-bloqueado #cartFab { display: none !important; }
body.tienda-body .cart-drawer { height: 100dvh; max-height: 100dvh; }
body.tienda-body .cart-items { min-height: 0; overscroll-behavior: contain; }
body.tienda-body .cart-head, body.tienda-body .cart-foot { flex-shrink: 0; }
body.tienda-body .cart-it-precio,
body.tienda-body .cart-total-row strong { white-space: nowrap; }
.checkout-summary-toggle { list-style: none; }
.checkout-summary-toggle::-webkit-details-marker { display: none; }
.checkout-summary-mobile { display: none; }
.cart-fab-icon { display: none; }
body.tienda-body .cart-fab[hidden] { display: none; }
body.tienda-body.rev-bloqueado .vc-wa,
body.tienda-body.rev-bloqueado .vc-pop,
body.tienda-body.rev-bloqueado .barra-movil,
body.tienda-body.rev-bloqueado .landing-cta-sticky,
body.tienda-body.rev-bloqueado #cartFab { display: none !important; }
body.tienda-body .vy-testi-texto {
  border: 0; padding: 0; background: transparent; text-align: left;
  font-family: inherit; width: 100%;
}
body.tienda-body .rev-file-input {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
body.tienda-body .fr-zona:focus-within { outline: 2px solid var(--acento); outline-offset: 3px; }
body.tienda-body :where(a,button,summary,input,select,textarea):focus-visible {
  outline: 2px solid var(--acento); outline-offset: 3px;
}

@media (max-width: 879px) {
  body.tienda-body .tienda-header .th-carrito,
  body.tienda-body .tienda-header .th-buscar {
    min-width: 44px; min-height: 44px; box-sizing: border-box;
    display: inline-flex; align-items: center; justify-content: center;
  }
  body.tienda-body .tienda-header .th-menu a {
    min-height: 44px; display: inline-flex; align-items: center;
  }
  body.tienda-body .tienda-header .th-menu { padding-top: 0; padding-bottom: 0; }
  body.tienda-body .tienda-header .logo-link,
  body.tienda-body .tienda-header .th-marca { flex: 1 1 0; min-width: 0; }
  body.tienda-body .tienda-header .logo-link img.logo { max-width: 100%; height: auto; max-height: var(--t-logo-alto,40px); }
  body.tienda-body .tienda-header .th-acciones { flex: 0 0 auto; gap: 6px; }
  body.tienda-body .prod-pub .precios { flex-wrap: wrap; row-gap: 3px; }
  body.tienda-body .grid-tienda > .prod-celda > .prod-pub { flex: 0 0 auto; }
  body.tienda-body .prod-celda .prod-pub .precios { margin-top: 0; min-height: 44px; }
  body.tienda-body .prod-celda .prod-pub .cta { margin-top: 0; }
  body.tienda-body .prod-pub .precio,
  body.tienda-body .prod-pub .antes { white-space: nowrap; }
  body.tienda-body .prod-rapido { min-height: 44px; }
  body.tienda-body .g-puntos {
    gap: 0; margin-top: 0; max-width: 100%; overflow-x: auto;
    justify-content: safe center; scrollbar-width: none;
  }
  body.tienda-body .g-puntos button,
  body.tienda-body .g-puntos button.activa {
    width: 44px; height: 44px; flex: 0 0 44px; background: transparent;
    position: relative; border-radius: 8px;
  }
  body.tienda-body .g-puntos button::after {
    content: ''; position: absolute; top: 18px; left: 18px;
    width: 8px; height: 8px; border-radius: 99px; background: #cbd5e1;
  }
  body.tienda-body .g-puntos button.activa::after {
    left: 10px; width: 24px; background: var(--acento);
  }
  body.tienda-body .sec-slideshow .ss-flecha { width: 44px; height: 44px; }
  body.tienda-body .sec-slideshow .ss-puntos { bottom: 0; gap: 0; }
  body.tienda-body .sec-slideshow .ss-punto,
  body.tienda-body .sec-slideshow .ss-punto.activa { width: 44px; height: 44px; background: transparent; position: relative; border-radius: 8px; }
  body.tienda-body .sec-slideshow .ss-punto::after { content: ''; position: absolute; top: 18px; left: 18px; width: 8px; height: 8px; border-radius: 99px; background: rgba(255,255,255,.55); }
  body.tienda-body .sec-slideshow .ss-punto.activa::after { left: 11px; width: 22px; background: #fff; }
  body.tienda-body .barra-movil { gap: 10px; }
  body.tienda-body .barra-movil > div { flex-shrink: 0; }
  body.tienda-body .barra-movil .precio,
  body.tienda-body .barra-movil .antes { white-space: nowrap; }
  body.tienda-body .barra-movil a {
    min-height: 48px; display: flex; align-items: center; justify-content: center;
    text-align: center; box-sizing: border-box; min-width: 0;
  }
  body.tienda-body .vm-x,
  body.tienda-body .cantidad-caja button,
  body.tienda-body .cantidad-caja input { min-width: 44px; min-height: 44px; }
  body.tienda-body .vm-scroll { min-height: 0; overscroll-behavior: contain; }
  body.tienda-body .cf-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.tienda-body .cf-form select,
  body.tienda-body .cf-form textarea { font-size: 16px; min-height: 48px; min-width: 0; }
  body.tienda-body .cf-form .cf-check,
  body.tienda-body .cf-form .cf-envio-op,
  body.tienda-body .cf-form .cf-tick,
  body.tienda-body .cf-dct-btn,
  body.tienda-body .cf-form #otpEnviar,
  body.tienda-body .cf-form #otpVerificar { min-height: 44px; }
  body.tienda-body .cf-form .btn-comprar,
  body.tienda-body .cf-form .cf-tarjeta { min-height: 48px; max-width: 100%; }
  body.tienda-body .cantidad-caja input { font-size: 16px; }
  body.tienda-body .prod-descripcion .descripcion { overflow-wrap: anywhere; }
  body.tienda-body .prod-descripcion .descripcion table { display: block; max-width: 100%; overflow-x: auto; }
  body.tienda-body .prod-descripcion .descripcion iframe { max-width: 100%; }
  body.tienda-body .cart-drawer { width: 100%; max-width: 100%; }
  body.tienda-body .cart-head { padding: 12px 16px; }
  body.tienda-body .cart-x { width: 44px; height: 44px; }
  body.tienda-body .cart-items { padding: 0 16px; }
  body.tienda-body .cart-it { gap: 12px; padding: 18px 0; }
  body.tienda-body .cart-it-img { width: 72px; height: 72px; flex-shrink: 0; }
  body.tienda-body .cart-it-info { min-width: 0; }
  body.tienda-body .cart-it-nom { line-height: 1.45; overflow-wrap: anywhere; }
  body.tienda-body .cart-qty { flex-wrap: wrap; gap: 6px; margin-top: 10px; }
  body.tienda-body .cart-qty button { min-width: 44px; min-height: 44px; }
  body.tienda-body .cart-qty .cart-del { padding: 0 12px; }
  body.tienda-body .cart-foot { padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px)); }
  body.tienda-body .cart-finalizar,
  body.tienda-body .cart-seguir { min-height: 48px; }
  body.tienda-body.cart-con-articulos:not(.producto-page) .vc-pop { bottom: calc(144px + env(safe-area-inset-bottom, 0px)); }
  body.tienda-body .vc-pop-x { min-width: 44px; min-height: 44px; }
  /* Navegación y contenido: no recortar las palabras ni modificar el tema. */
  body.tienda-body .th-marca,
  body.tienda-body .th-acciones,
  body.tienda-body .sec-ti > div,
  body.tienda-body .pie-marca,
  body.tienda-body .pie-cols,
  body.tienda-body .pie-col { min-width: 0; }
  body.tienda-body .tienda-header .nombre,
  body.tienda-body .titulo-seccion,
  body.tienda-body .sec-hero .contenido,
  body.tienda-body .sec-bannercta .bc-contenido,
  body.tienda-body .la-texto,
  body.tienda-body .sec-faq,
  body.tienda-body .testimonio,
  body.tienda-body .pie-plus { overflow-wrap: anywhere; }
  body.tienda-body .sec-hero .btn-hero,
  body.tienda-body .sec-bannercta .btn-hero,
  body.tienda-body .la-cta,
  body.tienda-body .ver-catalogo { min-height: 48px; box-sizing: border-box; max-width: 100%; }
  body.tienda-body .sec-beneficios { grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--t-benef-min,200px)),1fr)); }
  body.tienda-body .sec-ti .ti-img { min-width: 0; }
  body.tienda-body .faq-item summary { min-height: 48px; }
  body.tienda-body .faq-item summary::after { flex-shrink: 0; }
  body.tienda-body .th-buscador { max-height: calc(100dvh - 140px); overflow-y: auto; overscroll-behavior: contain; }
  body.tienda-body .th-buscador-caja { gap: 8px; }
  body.tienda-body .th-buscador-caja input[type="search"],
  body.tienda-body .th-buscador-x,
  body.tienda-body .th-buscador-ir { min-height: 44px; }
  body.tienda-body .th-buscador-x { min-width: 44px; }
  body.tienda-body .th-sug-txt { min-width: 0; overflow-wrap: anywhere; }
  body.tienda-body .th-sug-nom { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  body.tienda-body .th-sugerencias a { min-height: 48px; }
  body.tienda-body .sec-buscar .buscar-form input[type="search"] { font-size: 16px; min-width: 0; }
  body.tienda-body .sec-buscar .buscar-form button { min-height: 48px; }
  body.tienda-body .sec-buscar .buscar-vacio .btn { min-height: 44px; }
  /* Una burbuja de carrito, no una barra encima de las tarjetas. */
  body.tienda-body .cart-fab { width: 50px; height: 50px; padding: 0; justify-content: center; right: 12px; bottom: calc(80px + env(safe-area-inset-bottom,0px)); }
  body.tienda-body .cart-fab-icon { display: block; }
  body.tienda-body .cart-fab-text { display: none; }
  body.tienda-body .cart-fab-count { position: absolute; top: -5px; right: -5px; padding: 0 4px; min-width: 22px; }
  /* La etiqueta de una variante puede ser larga; sigue siendo seleccionable. */
  body.tienda-body .pv-titulo { flex-wrap: wrap; line-height: 1.5; }
  body.tienda-body .pv-titulo span { min-width: 0; overflow-wrap: anywhere; }
  body.tienda-body .pv-valor { min-height: 48px; max-width: 100%; text-align: left; line-height: 1.4; }
  body.tienda-body .pv-valor img { flex-shrink: 0; }
  body.tienda-body .pv-valor span { min-width: 0; overflow-wrap: anywhere; }
  /* Reseñas: filtros cómodos y hojas ajustadas al espacio visible del teléfono. */
  body.tienda-body .rp-barra,
  body.tienda-body .rt-chip,
  body.tienda-body .rt-orden select,
  body.tienda-body .rev-limpiar,
  body.tienda-body .rev-modal-x,
  body.tienda-body .fr-quitar-nueva { min-height: 44px; }
  body.tienda-body .rev-modal-x { min-width: 44px; flex-shrink: 0; }
  body.tienda-body .rt-orden { white-space: normal; }
  body.tienda-body .rt-orden select { min-width: 0; font-size: 16px; }
  body.tienda-body .rev-modal-caja { max-height: calc(100dvh - 16px); padding-bottom: calc(24px + env(safe-area-inset-bottom,0px)); overscroll-behavior: contain; }
  body.tienda-body .rev-modal-cab { position: sticky; top: -16px; padding: 8px 0; background: #fff; z-index: 2; }
  body.tienda-body .rev-form input[type="text"],
  body.tienda-body .rev-form textarea { font-size: 16px; min-height: 48px; }
  body.tienda-body .rev-form textarea { min-height: 120px; }
  body.tienda-body .estrellas-pick { flex-wrap: wrap; gap: 2px; }
  body.tienda-body .estrellas-pick label { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  body.tienda-body .estrellas-pick .ep-txt { flex: 1 0 100%; margin: 0 0 6px; text-align: right; }
  body.tienda-body .rev-lb { padding-top: calc(64px + env(safe-area-inset-top,0px)); padding-bottom: calc(12px + env(safe-area-inset-bottom,0px)); }
  body.tienda-body .rev-lb-card { max-height: calc(100dvh - 88px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); }
  body.tienda-body .rev-lb-img,
  body.tienda-body .rev-lb-img img { max-height: 40dvh; }
  body.tienda-body .rev-lb-x { top: calc(12px + env(safe-area-inset-top,0px)); }
  body.tienda-body .rev-lb-txt,
  body.tienda-body .resena-txt,
  body.tienda-body .vy-testi-nombre,
  body.tienda-body .vy-testi-texto { overflow-wrap: anywhere; }
  body.tienda-body .vy-testi-texto { min-height: 44px; }
  body.tienda-body .vy-testi-pista { overscroll-behavior-x: contain; }
  /* Footer, páginas y comprobante: lectura fluida y sin enlaces diminutos. */
  body.tienda-body .pie-plus .pie-redes { flex-wrap: wrap; }
  body.tienda-body .pie-plus .pie-redes a { width: 44px; height: 44px; }
  body.tienda-body .pie-plus .pie-cols { grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--t-pie-col-min,130px)),1fr)); }
  body.tienda-body .pie-plus .pie-col a { min-height: 44px; display: flex; align-items: center; margin: 0; padding: 6px 0; overflow-wrap: anywhere; }
  body.tienda-body .pie-boletin input[type="email"] { min-height: 48px; font-size: 16px; }
  body.tienda-body .pie-boletin button { min-height: 48px; }
  body.tienda-body .tienda-pie { padding-bottom: calc(88px + env(safe-area-inset-bottom,0px)); }
  body.tienda-body.producto-page .tienda-pie { padding-bottom: calc(156px + env(safe-area-inset-bottom,0px)); }
  body.tienda-body.pagina-contenido-page main { overflow-wrap: anywhere; }
  body.tienda-body.pagina-contenido-page main .btn { min-height: 44px; height: auto; white-space: normal; max-width: 100%; }
  body.tienda-body .gracias { max-width: calc(100% - 24px); margin: 24px auto; padding: 24px 16px; box-sizing: border-box; overflow-wrap: anywhere; }
  body.tienda-body .gracias .resumen > div { gap: 12px; align-items: flex-start; }
  body.tienda-body .gracias .resumen > div > span { min-width: 0; }
  body.tienda-body .gracias .resumen > div > b { flex-shrink: 0; max-width: 60%; }
  body.tienda-body .gracias .btn,
  body.tienda-body .gracias p > a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
}

@media (max-width: 760px) {
  body.tienda-body.cart-checkout-page .checkout-shell { padding: 16px 12px 32px; }
  body.tienda-body.cart-checkout-page .checkout-nav { gap: 12px; padding-bottom: 14px; }
  body.tienda-body.cart-checkout-page .checkout-nav a:last-child { min-height: 44px; display: inline-flex; align-items: center; }
  body.tienda-body.cart-checkout-page .checkout-nav img { max-width: 120px; max-height: 44px; }
  body.tienda-body.cart-checkout-page .checkout-title { padding: 18px 0; }
  body.tienda-body.cart-checkout-page .checkout-title h1 { margin: 6px 0; }
  body.tienda-body.cart-checkout-page .checkout-title p { margin: 8px 0 0; }
  body.tienda-body.cart-checkout-page .checkout-summary { padding: 0; overflow: hidden; }
  body.tienda-body.cart-checkout-page .checkout-summary-toggle { padding: 16px; cursor: pointer; }
  body.tienda-body.cart-checkout-page .checkout-summary-toggle h2 { font-size: 16px; gap: 8px; margin-bottom: 10px; }
  body.tienda-body.cart-checkout-page .checkout-summary-mobile { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  body.tienda-body.cart-checkout-page .checkout-summary-mobile strong { font-size: 18px; white-space: nowrap; }
  body.tienda-body.cart-checkout-page .checkout-summary-mobile span { color: var(--acento); font-size: 13px; font-weight: 600; }
  body.tienda-body.cart-checkout-page .checkout-summary .checkout-ocultar,
  body.tienda-body.cart-checkout-page .checkout-summary[open] .checkout-ver { display: none; }
  body.tienda-body.cart-checkout-page .checkout-summary[open] .checkout-ocultar { display: inline; }
  body.tienda-body.cart-checkout-page .checkout-summary-content { padding: 0 16px 16px; border-top: 1px solid #edf0f5; }
  body.tienda-body.cart-checkout-page .checkout-item { flex-wrap: wrap; padding: 16px 0; }
  body.tienda-body.cart-checkout-page .checkout-item img { width: 56px; height: 56px; }
  body.tienda-body.cart-checkout-page .checkout-item > div { flex-basis: calc(100% - 66px); }
  body.tienda-body.cart-checkout-page .checkout-item > b { margin-left: auto; }
  body.tienda-body.cart-checkout-page .checkout-stepper button,
  body.tienda-body.cart-checkout-page .checkout-stepper input { width: 44px; min-height: 44px; box-sizing: border-box; font-size: 16px; }
  body.tienda-body.cart-checkout-page .checkout-remove,
  body.tienda-body.cart-checkout-page .checkout-refresh { min-height: 44px; padding: 8px 12px; font-size: 14px; }
  body.tienda-body.cart-checkout-page .checkout-form.form-cod { padding: 18px 16px; }
  body.tienda-body.cart-checkout-page .checkout-form input,
  body.tienda-body.cart-checkout-page .checkout-form select,
  body.tienda-body.cart-checkout-page .checkout-form textarea { font-size: 16px; min-height: 48px; }
}
