:root {
      --green:      #81c408;
      --green-dark: #6ba006;
      --ink:        #1f2d3d;
      --card-bg:    #f1f5f9;
    }
    body { color: #45505b; }
 
    .section-heading { color: var(--ink); font-weight: 800; }
    .section-underline { width: 80px; height: 3px; background: var(--green); border-radius: 3px; }
 
    /* Search + filter bar */
    .browse-search .form-control, .browse-search .form-select { border-radius: 999px; }
    .filter-chip {
      border: 1px solid #e2e8f0; background: #fff; color: var(--ink);
      border-radius: 999px; padding: 0.35rem 1rem; font-size: 0.9rem;
    }
    .filter-chip:hover { border-color: var(--green); color: var(--green); }
    .filter-chip.active { background: var(--green); border-color: var(--green); color: #fff; }
 
    /* Product card */
    .product-item {
      background: #fff; height: 100%;
      transition: box-shadow 0.25s ease, transform 0.25s ease;
    }
    .product-item:hover { box-shadow: 0 0.75rem 2rem rgba(0,0,0,0.08); transform: translateY(-4px); }
 
    .product-media {
      position: relative; overflow: hidden; background: var(--card-bg);
    }
    .product-media img {
      width: 100%; height: 220px; object-fit: contain; padding: 1.25rem; display: block;
    }
 
    /* Hover overlay + the fade-in-up button */
    .product-overlay {
      position: absolute; inset: 0;
      display: flex; align-items: center; justify-content: center;
      background: rgba(31,45,61,0);
      transition: background 0.3s ease;
    }
    .product-item:hover .product-overlay { background: rgba(31,45,61,0.45); }
 
    .btn-marketplace {
      display: inline-flex; align-items: center; gap: 0.5rem;
      background: var(--green); color: #fff; text-decoration: none;
      font-weight: 600; padding: 0.7rem 1.4rem; border-radius: 999px;
      box-shadow: 0 6px 16px rgba(0,0,0,0.25);
      opacity: 0; transform: translateY(18px);           /* start lower + invisible */
      transition: opacity 0.35s ease, transform 0.35s ease, background 0.2s ease;
    }
    .product-item:hover .btn-marketplace {
      opacity: 1; transform: translateY(0);              /* fade in + rise up */
    }
    .btn-marketplace:hover { background: var(--green-dark); color: #fff; }
    .btn-marketplace i { transition: transform 0.2s ease; }
    .btn-marketplace:hover i { transform: translateX(4px); }
 
    .product-body { padding: 1rem; text-align: center; }
    .product-cat { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: #94a3b8; }
    .product-name { color: var(--ink); font-weight: 600; margin: 0.2rem 0; }
    .product-price { color: var(--green-dark); font-weight: 700; }
 
    .no-results { display: none; }
 
    @media (prefers-reduced-motion: reduce) {
      .btn-marketplace { transition: opacity 0.2s ease; transform: none; }
      .product-item:hover .btn-marketplace { transform: none; }
    }