body {
   display: flex;
   flex-direction: column;
   min-height: 100vh;
}

.store-container {
   max-width: 1300px;
   margin: 0 auto;
   padding: clamp(8rem, 14vh, 10rem) clamp(1.5rem, 5vw, 5rem) 4rem;
   flex: 1;
   width: 100%;
}

.store-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 2.5rem;
   padding-bottom: 1rem;
   border-bottom: 1px solid rgba(201, 168, 76, 0.1);
   flex-wrap: wrap;
   gap: 1rem;
}

.results-count {
   font-size: 0.75rem;
   letter-spacing: 0.15em;
   text-transform: uppercase;
   color: #c9a84c;
   font-weight: 500;
}

.sort-select {
   background: transparent;
   border: 1px solid rgba(201, 168, 76, 0.2);
   color: #ddd5c0;
   padding: 0.7rem 2.2rem 0.7rem 1.2rem;
   font-size: 0.85rem;
   font-family: inherit;
   border-radius: 4px;
   outline: none;
   cursor: pointer;
   appearance: none;
   -webkit-appearance: none;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-position: right 1rem center;
   transition: border-color 0.3s;
}

.sort-select:focus {
   border-color: #c9a84c;
}

.store-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
   gap: 2.5rem;
}

/* Matching the exact bright clean style from the image while staying luxury */
.product-card {
   background: #ffffff;
   border: 1px solid #e2e8f0;
   border-radius: 12px;
   overflow: hidden;
   transition:
      transform 0.3s ease,
      box-shadow 0.3s ease,
      border-color 0.3s ease;
   display: flex;
   flex-direction: column;
   box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.product-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
   border-color: #cbd5e1;
}

.product-img-wrap {
   background: #ffffff;
   padding: 2.5rem;
   display: flex;
   justify-content: center;
   align-items: center;
   height: 340px;
   border-bottom: 1px solid #f1f5f9;
}

.product-img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
   mix-blend-mode: multiply;
   /* Ensures generated white backgrounds blend perfectly with card white */
}

.card-body {
   background: #ffffff;
   padding: 1.8rem;
   display: flex;
   flex-direction: column;
   flex-grow: 1;
}

.p-title {
   font-family: "DM Sans", sans-serif;
   font-size: 1.25rem;
   color: #0f172a;
   margin-bottom: 0.5rem;
   font-weight: 500;
}

.p-price {
   font-family: "DM Sans", sans-serif;
   font-size: 1.1rem;
   color: #334155;
   margin-bottom: 1rem;
   font-weight: 600;
}

.p-cat {
   font-size: 0.7rem;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #64748b;
   margin-bottom: 1.5rem;
   font-weight: 600;
}

.add-btn {
   background: #f1f5f9;
   color: #0f172a;
   border: none;
   padding: 0.8rem 1.4rem;
   border-radius: 6px;
   font-family: "DM Sans", sans-serif;
   font-weight: 600;
   font-size: 0.85rem;
   cursor: pointer;
   align-self: flex-start;
   transition:
      background 0.2s,
      color 0.2s;
   margin-top: auto;
}

.add-btn:hover {
   background: #e2e8f0;
   color: #000;
}
