/* =========================================================
   HOMEPAGE — Popular Stores & Categories (limited + View All)
   ========================================================= */

.home-taxonomies-section {
   padding: 56px 0 64px;
}

.home-stores-section {
   padding-top: 48px;
}

.home-taxonomies-heading {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 16px;
   margin-bottom: 28px;
}

.home-taxonomies-heading-text {
   min-width: 0;
}

.home-taxonomies-eyebrow {
   display: block;
   margin-bottom: 6px;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: var(--theme-primary, #d377b0);
}

.home-taxonomies-title {
   text-align: left;
   margin: 0;
}

.home-taxonomies-viewall {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 10px 18px;
   border: 1.5px solid rgba(var(--theme-primary-rgb, 211, 119, 176), 0.35);
   border-radius: 999px;
   background: #fff;
   color: var(--theme-primary-hover, #b95794);
   font-size: 14px;
   font-weight: 700;
   text-decoration: none;
   white-space: nowrap;
   transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.home-taxonomies-viewall svg {
   width: 15px;
   height: 15px;
   transition: transform 0.18s ease;
}

.home-taxonomies-viewall:hover {
   background: rgba(var(--theme-primary-rgb, 211, 119, 176), 0.1);
   border-color: var(--theme-primary, #d377b0);
   color: var(--theme-primary-hover, #b95794);
   transform: translateY(-1px);
}

.home-taxonomies-viewall:hover svg {
   transform: translateX(3px);
}

.home-category-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 16px;
   list-style: none;
   margin: 0;
   padding: 0;
}

.home-category-card {
   display: flex;
   flex-direction: column;
   min-height: 100%;
   overflow: hidden;
   border: 1px solid rgba(26, 26, 46, 0.08);
   border-radius: 18px;
   background: #fff;
   box-shadow: 0 10px 28px rgba(26, 26, 46, 0.06);
   text-decoration: none;
   color: inherit;
   transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.home-category-card:hover {
   transform: translateY(-3px);
   border-color: rgba(var(--theme-primary-rgb, 211, 119, 176), 0.4);
   box-shadow: 0 16px 36px rgba(var(--theme-primary-rgb, 211, 119, 176), 0.14);
}

.home-category-card__media {
   position: relative;
   display: block;
   aspect-ratio: 16 / 10;
   overflow: hidden;
   background: #f4f1f5;
}

.home-category-card__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 0.35s ease;
}

.home-category-card:hover .home-category-card__media img {
   transform: scale(1.05);
}

.home-category-card__body {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 10px;
   padding: 14px 16px 16px;
}

.home-category-card__name {
   font-size: 15px;
   font-weight: 700;
   line-height: 1.35;
   color: #1a1a2e;
   overflow-wrap: anywhere;
}

.home-category-card__body::after {
   content: "";
   flex: 0 0 18px;
   width: 18px;
   height: 18px;
   background: no-repeat center / contain;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d377b0' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
   opacity: 0.75;
   transition: transform 0.18s ease, opacity 0.18s ease;
}

.home-category-card:hover .home-category-card__body::after {
   transform: translateX(3px);
   opacity: 1;
}

.home-stores-grid.top-stores-main {
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 18px;
}

.home-stores-grid .index-str {
   min-width: 0;
}

.home-stores-grid .index-str-title {
   overflow-wrap: anywhere;
}

@media (max-width: 991px) {
   .home-category-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
   }

   .home-stores-grid.top-stores-main {
      grid-template-columns: repeat(3, minmax(0, 1fr));
   }
}

@media (max-width: 767px) {
   .home-taxonomies-section {
      padding: 40px 0 48px;
   }

   .home-taxonomies-heading {
      margin-bottom: 22px;
   }

   .home-category-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
   }

   .home-category-card__body {
      padding: 12px 14px 14px;
   }

   .home-category-card__name {
      font-size: 14px;
   }

   .home-stores-grid.top-stores-main {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
   }
}

@media (max-width: 520px) {
   .home-taxonomies-heading {
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
   }

   .home-taxonomies-viewall {
      width: 100%;
      justify-content: center;
   }
}
