 .topside-companion-products-block h3 {
    position: absolute;
    /* allow room for two lines without shifting the element up */
    top: 0.9em;
    left: 50%;
    /* only translate horizontally so wrapping doesn't pull the heading out of place */
    transform: translateX(-50%);
    margin: 0;
    background: #fff;
    padding: 0 1em;
    font-size: 1.2em;
    line-height: 1.2;
    max-width: 90%; /* Prevent overflow on small screens */
    /* force single line with ellipsis */
    white-space: nowrap;
    max-height: calc(1.2em * 1);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  
.topside-companion-products-block {
    position: relative;
    border: 1px solid #eee;
    padding: 1.2em; /* extra top padding so heading can float */
  }

  @media (max-width: 768px) {
    .topside-companion-products-block {
margin-top:25px;
    }
  }


  .topside-companion-products-block .added_to_cart, .topside-companion-add-to-cart::after {
    display:none !important;
  }


  
  .topside-companion-products-block h3 {
    position: absolute;
    top: 0; 
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    background: #fff;
    padding: 0 1em;
    font-size: 1.2em;
    line-height:normal;
    text-align:center;
  }

  .topside-companion-products-title {
    line-height: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: calc(1.2em * 2); /* fallback for non-webkit browsers */
    line-height: 1.2;
  }
  
  .topside-companion-products-items {
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-around;
  }
  
  .topside-companion-products-item {
    display: flex;
    align-items: stretch; /* ensures same total height for image/details */
    margin-bottom: 1em;
    text-align:left;
    flex: 1 1 45%; /* grow, shrink, ~45% basis allows 2 items per row with gap */
    max-width: 100%; /* ensure items don't exceed container */
  }
  
  .topside-companion-products-image {
    display: block;
    margin-right: 1em;
    width: 90px;
    height: 90px;
    flex-shrink: 0;
  }
  
  .topside-companion-products-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .topside-companion-products-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* place name at top, button at bottom */
  }
  
  .topside-companion-products-details .button {
    padding: 0.4em 1em !important;
    line-height: 1.2 !important;
    font-size: 0.9em;
    max-width: 110px;
    min-width:110px;
    text-align: center;
    font-size:13px !important;
    font-weight:400;
  }
  

  .topside-companion-products-price{
    margin: 0 0 6px;
  }
 .topside-companion-products-price {
    line-height: 1.1;
}
  
  
  