.willro-reviews-wrapper {
  font-family: "Hero New", Arial, sans-serif !important;
  width: 100% !important;
  background: white !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.willro-reviews-wrapper * {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
}
.willro-reviews-wrapper .container {
  padding: 20px !important;
  background: white !important;
  border-radius: none !important;
  max-width: 1280px !important;
  width: 100% !important;
  overflow: hidden !important;
}

.elementor-element .willro-reviews-wrapper svg {
  width: auto;
  fill: auto;
}
.elementor-element .willro-reviews-wrapper .carousel-btn svg {
  fill: transparent;
}
/*.willro-reviews-wrapper .review-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 16px;
  justify-content: center;
  align-items: center;
  justify-items: center;
}*/
.willro-reviews-wrapper .review-wrapper-end {
  margin-top: 48px !important;
  display: flex !important;
  justify-content: end !important;
  gap: 16px !important;
  width: 100% !important;
  text-align: center !important;
}
.willro-reviews-wrapper .review-card {
  position: relative !important;
  background: #fff !important;
  width: 100% !important;
  border-radius: 14px !important;
  padding: 20px 0 !important;
  border: 1px solid #d1d1d1 !important;
  height: full !important;
}
.willro-reviews-wrapper {
  /* .left-arrow,
  .right-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    padding: 8px;
    border-radius: 50%;
    cursor: pointer;
    background: #e4e7ec;
    color: #667085;
    z-index: 10;
  } */
}
.willro-reviews-wrapper .left-arrow,
.willro-reviews-wrapper .right-arrow {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  background: #fff !important;
  padding: 8px !important;
  height: fit-content !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  background: #e4e7ec !important;
  color: #667085 !important;
  z-index: 10 !important;
}
.willro-reviews-wrapper {
  /* Left arrow */
  /* .left-arrow {
    left: 20px;
  } */
  /* Right arrow */
  /* .right-arrow {
    right: 20px;
  } */
}
.willro-reviews-wrapper .carousel-btn {
  display: flex !important;
  gap: 24px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin-left: auto !important;
}
.willro-reviews-wrapper .filters-wrapper {
  align-items: center !important;
  gap: 16px !important;
}
.willro-reviews-wrapper .review-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  padding: 0 20px !important;
}
.willro-reviews-wrapper .profile-area {
  width: 100% !important;
  display: flex !important;
  gap: 8px !important;
  align-items: flex-start !important;
}
.willro-reviews-wrapper .profile-area img {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  margin: 0 !important;
  object-fit: cover !important;
}
.willro-reviews-wrapper .profile-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  line-height: 100% !important;
  gap: 4px !important;
}
.willro-reviews-wrapper .verified-icon {
  width: 16px !important;
  height: 16px !important;
}
.willro-reviews-wrapper .location-area {
  color: #585858 !important;
  font-size: 12px !important;
  line-height: 100% !important;
  font-weight: 400 !important;
  margin-top: -6px !important;
  margin-left: -2px !important;
}
.willro-reviews-wrapper .time {
  color: #585858 !important;
  font-size: 12px !important;
  margin-top: 2px !important;
}
.willro-reviews-wrapper .hover-btn {
  background: none !important;
  height: fit-content !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border-radius: 6px !important;
  transition: all 0.2s !important;
  outline: none !important;
}
.willro-reviews-wrapper .icon-wrapper {
  padding: 6px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s !important;
}
.willro-reviews-wrapper .icon-svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #666 !important;
  fill: none !important;
  stroke-width: 2 !important;
  transition: stroke 0.2s !important;
}
.willro-reviews-wrapper .button-text {
  font-size: 14px !important;
  text-transform: capitalize !important;
  color: #666 !important;
  font-weight: 400 !important;
  transition: color 0.2s !important;
  display: inline !important;
}
.willro-reviews-wrapper {
  /* Hover Styles */
}
.willro-reviews-wrapper .hover-btn:hover {
  background: none !important;
  box-shadow: none !important;
}
.willro-reviews-wrapper .hover-btn:hover .icon-wrapper {
  background: #d7f3ff !important;
}
.willro-reviews-wrapper .hover-btn .icon-svg:hover {
  stroke: #1d7abf !important;
  display: inline !important;
}
.willro-reviews-wrapper .hover-btn:hover .comment-icon {
  display: inline !important;
  fill: #1d7abf !important;
}
.willro-reviews-wrapper .hover-btn:hover .share-icon {
  display: inline !important;
  fill: #1d7abf !important;
}
.willro-reviews-wrapper .hover-btn:hover .three-dot {
  display: inline !important;
  fill: #1d7abf !important;
}
.willro-reviews-wrapper .hover-btn:hover .button-text {
  color: #1d7abf !important;
}
.willro-reviews-wrapper .rating-section {
  margin-top: 16px !important;
  padding: 0 20px !important;
}
.willro-reviews-wrapper .rating-container {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-bottom: 8px !important;
}
.willro-reviews-wrapper .rating-badge {
  width: 24px !important;
  height: 24px !important;
}
.willro-reviews-wrapper .rating-count {
  font-size: 16px !important;
  margin-left: 8px !important;
}
.willro-reviews-wrapper .review-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 27px !important;
}
.willro-reviews-wrapper .review-content {
  color: #333 !important;
  font-size: 14px !important;
  line-height: 25px !important;
  line-height: 1.5 !important;
}
.willro-reviews-wrapper .read-more-btn {
  color: #1d7abf !important;
  cursor: pointer !important;
  font-weight: 500 !important;
}
.willro-reviews-wrapper .review-media {
  position: relative !important;
  background: #000 !important;
  aspect-ratio: 16/9 !important;
  margin-top: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}
.willro-reviews-wrapper .review-media video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.willro-reviews-wrapper .review-media img {
  aspect-ratio: 16/9 !important;
  width: 100% !important;
}
.willro-reviews-wrapper .review-image {
  object-fit: contain !important;
}
.willro-reviews-wrapper .video-play-btn {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 48px !important;
  height: 48px !important;
  background: rgba(0, 0, 0, 0.6) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}
.willro-reviews-wrapper .engagement-stats {
  padding: 16px 20px 20px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.willro-reviews-wrapper .reaction-icon {
  display: inline-flex !important;
  width: 20px !important;
  height: 20px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  border: 1px solid white !important;
}
.willro-reviews-wrapper .action-btn-container {
  padding: 0 16px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 6px !important;
}
.willro-reviews-wrapper .review-wrapper-end {
  margin-top: 48px !important;
  display: flex !important;
  justify-content: end !important;
  gap: 16px !important;
  width: 100% !important;
  text-align: center !important;
}
.willro-reviews-wrapper .review-wrapper {
  margin-top: 48px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  text-align: center !important;
}
.willro-reviews-wrapper {
  /* Each part */
}
.willro-reviews-wrapper .review-section {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.willro-reviews-wrapper {
  /* Review Stat Section Style */
}
.willro-reviews-wrapper .review-stats-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 24px !important;
  align-items: start !important;
  border-bottom: 1px solid #d1d1d1 !important;
  padding-bottom: 32px !important;
  margin-bottom: 32px !important;
}
.willro-reviews-wrapper .review-stats-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  max-width: 600px !important;
  width: 100% !important;
}
.willro-reviews-wrapper .average-rating {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-bottom: 12px !important;
  padding: 4px 8px !important;
}
.willro-reviews-wrapper .average-rating-badge {
  background: #003d5b !important;
  color: white !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.willro-reviews-wrapper .average-rating-point {
  font-size: 32px !important;
  font-weight: 500 !important;
  color: #1d2939 !important;
}
.willro-reviews-wrapper .average-rating-text {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1d2939 !important;
  margin-bottom: 8px !important;
}
.willro-reviews-wrapper .rating-bars-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  max-width: 350px !important;
  width: 100% !important;
}
.willro-reviews-wrapper .rating-bar-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.willro-reviews-wrapper .rating-bar {
  flex: 1 !important;
  height: 8px !important;
  background: #e4e7ec !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
.willro-reviews-wrapper .rating-point {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #333 !important;
  width: 12px !important;
  margin-left: -4px !important;
}
.willro-reviews-wrapper .filters {
  display: flex !important;
  max-width: 100% !important;
  width: 100% !important;
  gap: 8px !important;
  padding: 32px 0 !important;
}
.willro-reviews-wrapper .dropdown {
  position: relative !important;
  width: 100% !important;
}
.willro-reviews-wrapper .dropdown .rating-dropdown {
  width: fit-content !important;
}
.willro-reviews-wrapper .dropdown .recent-dropdown {
  width: fit-content !important;
}
.willro-reviews-wrapper .dropdown-btn:hover {
  background: none !important;
  box-shadow: none !important;
}
.willro-reviews-wrapper .dropdown-btn {
  font-weight: 400 !important;
  text-transform: capitalize !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 8px !important;
  background: #ffffff !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-size: 12px !important;
  color: #344054 !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}
.willro-reviews-wrapper .dropdown-btn .chevron {
  transition: transform 0.2s ease !important;
}
.willro-reviews-wrapper {
  /* rotate when open */
}
.willro-reviews-wrapper .dropdown.open .chevron {
  transform: rotate(180deg) !important;
}
.willro-reviews-wrapper .dropdown-menu {
  position: absolute !important;
  top: 110% !important;
  left: 0 !important;
  min-width: 170px !important;
  background: #ffffff !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 12px !important;
  padding: 10px 0 !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06) !important;
  display: none !important;
  z-index: 20 !important;
}
.willro-reviews-wrapper .dropdown.open .dropdown-menu {
  display: block !important;
}
.willro-reviews-wrapper .dropdown-menu label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  color: #344054 !important;
  cursor: pointer !important;
}
.willro-reviews-wrapper .dropdown-menu label:hover {
  background: #f9fafb !important;
}
.willro-reviews-wrapper .dropdown-menu input[type="radio"] {
  width: 14px !important;
  height: 14px !important;
}
.willro-reviews-wrapper .hide-on-mobile {
  display: none !important;
}
.willro-reviews-wrapper {
  /* Tablet (≥768px): 2 columns */
}

.willro-reviews-wrapper .video-wrapper {
  position: relative !important;
  width: 100% !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
  cursor: pointer !important;
}
.willro-reviews-wrapper .review-video {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.willro-reviews-wrapper .video-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.3) !important;
  z-index: 2 !important;
  transition: opacity 0.3s ease !important;
}
.willro-reviews-wrapper .video-overlay.hidden {
  opacity: 0 !important;
  pointer-events: none !important;
}
.willro-reviews-wrapper .video-play-btn {
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: opacity 0.2s ease !important;
}
.willro-reviews-wrapper .video-play-btn:hover {
  opacity: 0.8 !important;
}
.willro-reviews-wrapper .video-play-btn svg {
  display: block !important;
  width: 64px !important;
  height: 64px !important;
}
.willro-reviews-wrapper {
  /* Hide video controls by default */
}
.willro-reviews-wrapper .review-video {
  pointer-events: none !important;
}
.willro-reviews-wrapper .review-video.playing {
  pointer-events: auto !important;
}
.willro-reviews-wrapper .review-video::-webkit-media-controls {
  display: none !important;
}
.willro-reviews-wrapper .review-video.playing::-webkit-media-controls {
  display: flex !important;
}

@media (min-width: 730px) {
  .willro-reviews-wrapper .container {
    padding: 32px !important;
    border-radius: none !important;
  }
  .willro-reviews-wrapper .review-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .willro-reviews-wrapper .carousel-btn {
    display: flex !important;
  }
  .willro-reviews-wrapper .review-card {
    max-width: 100% !important;
  }
  .willro-reviews-wrapper .review-stats-left {
    flex-direction: row !important;
    gap: 60px !important;
  }
  .willro-reviews-wrapper .dropdown {
    width: 160px !important;
  }
  .willro-reviews-wrapper .dropdown-btn {
    text-decoration: capitalize !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
  }
  .willro-reviews-wrapper .filters {
    gap: 16px !important;
    max-width: 600px !important;
  }
  .willro-reviews-wrapper .review-section {
    justify-content: center !important;
  }
  .willro-reviews-wrapper .button-text {
    display: inline !important;
  }
  .willro-reviews-wrapper .hide-on-mobile {
    display: none !important;
  }
}
.willro-reviews-wrapper {
  /* Laptop / Large Devices (≥1024px): 3 columns */
}
@media (min-width: 1200px) {
  .willro-reviews-wrapper .container {
    padding: 32px !important;
    border-radius: 32px !important;
  }
  .willro-reviews-wrapper .dropdown-btn {
    text-decoration: capitalize !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
  }
  .willro-reviews-wrapper .carousel-btn {
    display: flex !important;
  }
  .willro-reviews-wrapper .review-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .willro-reviews-wrapper .review-stats-container {
    flex-direction: row !important;
    padding-bottom: 48px !important;
    margin-bottom: 48px !important;
  }
  .willro-reviews-wrapper .review-stats-left {
    flex-direction: row !important;
    gap: 60px !important;
  }
  .willro-reviews-wrapper .dropdown {
    width: 160px !important;
  }
  .willro-reviews-wrapper .filters {
    gap: 24px !important;
    max-width: 600px !important;
  }
  .willro-reviews-wrapper .review-wrapper {
    justify-content: center !important;
    flex-direction: row !important;
  }
  .willro-reviews-wrapper .button-text {
    display: inline !important;
  }
  .willro-reviews-wrapper .review-section {
    justify-content: center !important;
  }
  .willro-reviews-wrapper .hide-on-mobile {
    display: inline !important;
  }
}

/* Carousel Container and Viewport */
.willro-reviews-wrapper .willro-reviews-content {
  display: none;
}
.willro-reviews-wrapper.is-editor .willro-reviews-content {
  display: block;
}
.willro-reviews-wrapper.is-editor .carousel-btn {
  display: flex !important;
}
.willro-reviews-wrapper .carousel-viewport {
  width: 100%;
  overflow: hidden; /* Eta baki cards gulo hide korbe */
}

.willro-reviews-wrapper .review-grid {
  display: flex; /* Grid theke Flex-e change */
  gap: 16px;
  transition: transform 0.5s ease-in-out;
  width: 100%;
}

/* Card Styling */
.willro-reviews-wrapper .review-card-link {
  /* 3 ta card dekhabe (gap: 16px shoho calculate kora hoyeche) */
  flex: 0 0 calc(33.333% - 11px);
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}
/* 4. Mobile e 1 ta dekhabe */
@media (max-width: 768px) {
  .willro-reviews-wrapper .review-card-link {
    flex: 0 0 100%;
  }
}

@media (max-width: 767px) {
  .willro-reviews-wrapper .filters-wrapper {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  .willro-reviews-wrapper .filters-wrapper .filters {
    width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .willro-reviews-wrapper .filters-wrapper .dropdown {
    width: 100% !important;
  }
  .willro-reviews-wrapper .filters-wrapper .dropdown-btn {
    width: 100% !important;
  }
  .willro-reviews-wrapper .filters-wrapper .carousel-btn {
    display: flex !important;
    gap: 15px !important;
    width: 100% !important;
    justify-content: center !important;
    margin-left: 0 !important;
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }

  .willro-reviews-wrapper .left-arrow,
  .willro-reviews-wrapper .right-arrow {
    padding: 6px !important;
  }
}
