/* ============================================================
   Carousel Layout
   ============================================================ */
.grwp-layout-carousel .grwp-carousel-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--grwp-border) !important;
}

.grwp-layout-carousel .grwp-carousel-biz {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.grwp-layout-carousel .grwp-carousel-biz-photo {
  width: 52px !important;
  height: 52px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
  border: 1px solid var(--grwp-border) !important;
}

.grwp-layout-carousel .grwp-carousel-biz-avatar {
  width: 52px !important;
  height: 52px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #7c3aed, #a855f7) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  flex-shrink: 0 !important;
}

.grwp-layout-carousel .grwp-carousel-biz-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.grwp-layout-carousel .grwp-carousel-biz-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--grwp-text) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.grwp-layout-carousel .grwp-carousel-biz-stars {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
}

.grwp-layout-carousel .grwp-carousel-biz-rating {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--grwp-text) !important;
  margin-left: 4px !important;
}

.grwp-layout-carousel .grwp-carousel-biz-count {
  font-size: 12px !important;
  color: var(--grwp-text-light) !important;
}

.grwp-layout-carousel .grwp-carousel-arrows {
  display: flex !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}
.grwp-layout-carousel .grwp-carousel-header-cta {
  justify-self: end !important;
}

.grwp-layout-carousel .grwp-carousel-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--grwp-border) !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all .2s !important;
  color: var(--grwp-text) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
}

.grwp-layout-carousel .grwp-carousel-btn svg {
  color: inherit !important;
  stroke: currentColor !important;
}

.grwp-layout-carousel .grwp-carousel-btn:hover {
  background: #7c3aed;
  color: #fff;
  border-color: #7c3aed;
  box-shadow: 0 4px 12px rgba(124,58,237,.3);
}

.grwp-layout-carousel .grwp-carousel-viewport {
  overflow: hidden;
  border-radius: var(--grwp-radius);
}

.grwp-layout-carousel .grwp-carousel-track {
  display: flex;
  transition: transform .4s cubic-bezier(.25,.46,.45,.94);
}

.grwp-layout-carousel .grwp-carousel-item {
  min-width: 25%;
  flex: 0 0 25%;
  padding: 2px;
  display: flex;
  flex-direction: column;
}

.grwp-layout-carousel .grwp-carousel-item .grwp-review-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

@media (max-width: 980px) {
  .grwp-layout-carousel .grwp-carousel-item {
    min-width: 50% !important;
    flex-basis: 50% !important;
  }
}

@media (max-width: 640px) {
  .grwp-layout-carousel .grwp-carousel-item {
    min-width: 100% !important;
    flex-basis: 100% !important;
  }
  .grwp-layout-carousel .grwp-carousel-header {
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
  }
  .grwp-layout-carousel .grwp-carousel-header-cta {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
  }
  .grwp-layout-carousel .grwp-carousel-arrows {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
}
