/* v1.0.3 Clean finance style – white cards, green accents, yellow button
   - Higher specificity to beat theme/Elementor rules
   - Cache-busted via filemtime in PHP
*/
.sp-grid.sp-grid { display: grid; gap: 20px; }
.sp-grid.sp-grid.sp-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.sp-grid.sp-grid.sp-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.sp-grid.sp-grid.sp-cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }

@media (max-width: 1024px) {
  .sp-grid.sp-grid.sp-cols-3, .sp-grid.sp-grid.sp-cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .sp-grid.sp-grid.sp-cols-2, .sp-grid.sp-grid.sp-cols-3, .sp-grid.sp-grid.sp-cols-4 { grid-template-columns: 1fr; }
}

/* Card */
.sp-grid .sp-tile {
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.06) !important;
  transition: transform .15s ease, box-shadow .15s ease;
  color: #111827 !important;
}
.sp-grid .sp-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.1) !important;
}

/* Thumb */
.sp-grid .sp-thumb {
  display: grid;
  place-items: center;
  background: #f9fafb !important;
  min-height: 140px;
  border-bottom: 1px solid #e5e7eb;
}
.sp-grid .sp-thumb img {
  object-fit: contain;
  max-height: 120px;
  width: auto;
  padding: 10px;
  background: transparent !important;
}

/* Body */
.sp-grid .sp-body { padding: 18px 16px; }
.sp-grid .sp-title {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a !important;
  margin-bottom: 8px;
  line-height: 1.35;
}

/* Price */
.sp-grid .sp-price {
  font-weight: 600;
  color: #16a34a !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  display: inline-block;
  padding: 6px 10px;
  border-radius: 8px;
  margin-bottom: 10px;
}

/* Button */
.sp-grid .sp-btn {
  margin-top: auto;
  display: inline-block;
  background: #fbbf24 !important; /* gold */
  color: #111827 !important;
  font-weight: 800;
  padding: 10px 14px;
  border-radius: 8px;
  text-align: center;
  transition: background-color .15s ease, box-shadow .15s ease;
  box-shadow: 0 0 0 rgba(0,0,0,0);
}
.sp-grid .sp-tile:hover .sp-btn {
  background: #facc15 !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.08);
}

/* Prevent theme links coloring inside tile */
.sp-grid .sp-tile, .sp-grid .sp-tile * { text-decoration: none !important; }
