#bd-infinite-sentinel{
    display:flex; align-items:center; justify-content:center;
    padding:16px; margin:16px 0;
  }
  .bd-infinite__wrap{ display:flex; align-items:center; gap:10px; }
  .bd-infinite__spinner{
    width:20px; height:20px; border-radius:50%;
    border:3px solid currentColor; border-right-color:transparent;
    animation:bdspin .8s linear infinite; opacity:.7;
  }
  .bd-infinite__text{ font-size:.95rem; opacity:.8; }
  .bd-infinite__btn{
    display:inline-block; padding:10px 16px; border:1px solid rgba(0,0,0,.2);
    background:#fff; cursor:pointer; border-radius:8px;
  }
  @keyframes bdspin{ to{ transform:rotate(360deg); } }
  @media (prefers-reduced-motion: reduce){
    .bd-infinite__spinner{ animation:none; }
  }
  
  /* Colunas niveladas */
  #js-product-list .products{ align-items:stretch; }
  #js-product-list .products > .product,
  #js-product-list .products > .js-product,
  #js-product-list .products > [class*="col-"]{ display:flex; }
  
  /* Card ocupa 100% */
  #js-product-list .products > .product > article.product-miniature,
  #js-product-list .products > .js-product > article.product-miniature{
    display:flex; flex-direction:column; width:100%;
  }
  
  /* Imagem quadrada e consistente */
  #js-product-list .thumbnail-container{ aspect-ratio:1/1; overflow:hidden; }
  #js-product-list .thumbnail-container img{ width:100%; height:100%; object-fit:cover; }
  
  /* Título controlado */
  #js-product-list .product-title{
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
    overflow:hidden; min-height:2.6em;
  }
  