/* Evitar overflow horizontal en paginación móvil y ocultar flechas dobles */
@media (max-width: 575.98px){
  .pagination{ flex-wrap: wrap; }
  .pagination .page-link{ padding: .375rem .5rem; }
  body{ overflow-x: hidden; }
}
/* Custom overrides específicos para mobile */
@media (max-width: 575.98px) {
  .breadcrumb-sm-mobile { font-size: 11px; }
  .breadcrumb-sm-mobile .breadcrumb-item + .breadcrumb-item::before { padding: 0 .25rem; }
  .breadcrumb-wrapper-mobile { margin-top: .75rem !important; }
  .breadcrumb-sm-mobile .breadcrumb-item { line-height: 1.2; }
  img.mainlogosmall { max-height: 58px; }
}

@media (max-width: 991.98px) {
  img.mainlogo, img.mainlogosmall { max-height: 34px; height: 34px; }
}

/* Acciones producto mobile */
.product-mobile-actions .action-link { color: #222; transition: background .15s, color .15s; border-radius: .5rem; }
.product-mobile-actions .action-link:hover { background: #f5f5f5; color: #000; }
.product-mobile-actions i { color: #ff7a00; }

/* Imagen principal reducida en móviles y scroll suave */
@media (max-width: 767.98px) {
  .product-main-image { max-height: 220px; width: auto; object-fit: contain; }
  html { scroll-behavior: smooth; }
}

/* Nueva clase para la imagen principal (ajuste más pequeño) */
@media (max-width: 575.98px) {
  img.mp-main-image { max-height: 180px; object-fit: contain; width: auto; }
}

/* Overlay precio móvil */
@media (max-width: 767.98px) {
  .mobile-image-wrapper { max-width: 260px; }
  .price-overlay-mobile { background: rgba(255,255,255,0.92); border-radius: .65rem; backdrop-filter: blur(2px); font-size: .75rem; }
  .price-overlay-mobile:hover { background: rgba(255,255,255,0.98); box-shadow: 0 2px 6px rgba(0,0,0,0.15); }
  .price-overlay-mobile { cursor: pointer; }
  .price-overlay-mobile .desde { text-transform: uppercase; letter-spacing: .5px; color:#666; line-height:1; }
  .price-overlay-mobile .precio { font-weight:700; font-size:1rem; color:#ff7600; line-height:1.1; }
  .price-overlay-mobile .ofertas-badge { font-size:.65rem; }
  .price-overlay-mobile .precio-line { white-space: nowrap; line-height:1.1; }
  .price-overlay-mobile .precio-line .desde { display:inline-block; margin-right:2px; }
}

/* Tabla comparativa móvil (sin scroll horizontal) */
@media (max-width: 767.98px) {
  .mp-compare-wrapper { overflow-x:hidden; }
  .table-compare { font-size:.8rem; }
  .table-compare td, .table-compare th { white-space:normal !important; }
  .table-compare .tdprice .fw-bold { font-size:1rem !important; }
  .table-compare .ver-oferta .btn-oferta-mini { padding:.32rem .55rem; font-size:.68rem; line-height:1.05; border-radius:.45rem; font-weight:600; letter-spacing:.3px; }
  .table-compare .ver-oferta .btn-oferta-mini .txt { display:inline-block; transform:translateY(-1px); }
  .table-compare .ver-oferta .btn-oferta-mini:hover { filter:brightness(1.05); box-shadow:0 2px 4px rgba(0,0,0,.15); }
  .table-compare .ver-oferta .btn-oferta-mini:active { transform:scale(.96); }
  .table-compare .ver-oferta .btn .full-text { display:none; }
  .table-compare .table-name a { font-size:.7rem; }
}

/* Badge flotante de descuento (desktop + base) */
.discount-float-badge { position:absolute; top:-6px; left:4px; background:linear-gradient(135deg,#dc3545,#b3122d); color:#fff; font-size:.60rem; font-weight:700; padding:2px 6px 2px 5px; border-radius:.5rem; box-shadow:0 2px 4px rgba(0,0,0,.25); display:inline-flex; align-items:center; gap:2px; letter-spacing:.5px; z-index:2; }
.discount-float-badge i { font-size: .9rem; line-height:1; margin-right:1px; }
.price-cell { position:relative; }

@media (max-width: 767.98px) {
  .discount-float-badge { top:-4px; left:2px; font-size:.55rem; padding:2px 5px; border-radius:.45rem; }
  .discount-float-badge i { font-size:.85rem; }
}