/* Extra custom styles (Tailwind handles most styling) */

.hero-inner {
    .overlay {
        border-radius: 0 10px 10px 0;
        max-width: 400px;
    }
}

/* Toolbar buttons */
.toolbar-btn {
  width: 40px;
  height: 40px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

.toolbar-btn:hover {
  background: #f9fafb;
}

/* Tabs */
.tab-btn {
  background: #f3f4f6;
  color: #57595a;
  padding: 12px 24px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  border: 1px solid transparent;
  transition: 0.3s;
  cursor: pointer;
}

/* Hover tab (except active) */
.tab-btn:hover:not(.active-tab) {
  border: 1px solid #80a739;
  color: #80a739;
  background: #f9fafb;
}

/* Active tab */
.active-tab {
  background: #80a739;
  color: white;
}

/* Product card */
.product-card {
  box-shadow: 0 1px 3px #00000020;
  border-radius: 12px;
  overflow: hidden;
  transition: 0.4s;
}

/* Details button hover */
.details-btn:hover {
  background: #80a739;
  color: white;
}

/* ===== GRID VIEW / LIST VIEW ===== */

/* Grid view default */
.grid-view {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}

@media (min-width: 640px) {
  .grid-view {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .grid-view {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* List view */
.list-view {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  .product-card {
    display: flex !important;
    flex-direction: row !important;
    > div.relative {
      width: 30%;
      img {
        width: 100%;
        height: 200px;
      }
    }
    > div.p-5 {
      width: calc(70% - 24px);
    }
  }
}

/* Product card structure in list view */
.list-view .product-card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .list-view .product-card {
    flex-direction: row;
    align-items: stretch;
  }

  .list-view .product-card img {
    width: 280px;
    height: 100%;
    object-fit: cover;
  }
}

.list-view .product-card .p-5 {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}