#home-products {
    max-width: 1200px;
    margin: 0 auto 40px;
    padding: 20px 15px 0px;
  }
  #home-products > h2 {
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 30px;
    color: #000;
  }

  /* Product grid */
  .products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
    gap: 20px 20px;
  }

  /* Single product card */
  .product-card {
    background: #fff;
  /*box-shadow: 0px 0px 5px 5px #d3d3d3;*/
  border-radius: 2px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s ease;
  border: 1px solid #c5c5c5;
  }
  .product-card:hover,
  .product-card:focus-within {
    box-shadow:
      0 10px 20px rgba(0,0,0,0.19),
      0 6px 6px rgba(0,0,0,0.23);
  }

  /* Product image container with consistent aspect ratio */
  .product-image {
    position: relative;
    width: 100%;
    padding-bottom: 70%; /* approx 4:3 ratio */
    overflow: hidden;
    background: #fff; /* dark blue background behind image */
  }
  .product-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    max-width: none;
    transform: translate(-50%, -50%);
    object-fit: contain;
    user-select: none;
  }

  /* Product title container */
  .product-title {
    background: white;
    padding: 15px;
    text-align: center;
    font-weight: 600;
    font-size: 15px;
    color: #000;
    box-shadow:
      inset 0 1px 0 rgba(0,0,0,0.05);
      text-transform: uppercase;
  }

  /* Responsive adjustments */
  @media (max-width: 600px) {
    #home-products {
      padding: 15px 10px 30px;
    }
    #home-products > h2 {
      font-size: 1.5rem;
      margin-bottom: 25px;
    }
  }