.brightlocal-reviews .review-card {
  background: #f9f9f9;
  padding: 15px;
  margin-bottom: 15px;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.brightlocal-reviews .review-card strong {
  font-size: 1.1em;
  color: #333;
}
.brightlocal-reviews .review-card p {
  margin: 10px 0;
  color: #555;
}
.brightlocal-reviews .review-card small {
  color: #999;
}

/* Rating Shortcode */

.brightlocal__rating {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: currentColor;
}

.brightlocal__rating--logo svg {
  width: 40px;
  height: 40px;
}

.brightlocal__rating--score {
  display: flex;
  gap: 4px;
  align-items: center;
}

.brightlocal__rating--number {
  font-size: 1rem;
  font-weight: bold;
  color: currentColor;
}

.brightlocal__rating--stars {
  display: flex;
  align-items: center;
  gap: 4px;
}

.brightlocal__rating--stars .star {
  width: 20px;
  height: 20px;
  background-size: cover;
  display: inline-block;
}

.brightlocal__rating--stars .star.full {
  background-image: url('data:image/svg+xml,<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve" fill="%23000000"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><path fill="%23ffc107" d="M63.893,24.277c-0.238-0.711-0.854-1.229-1.595-1.343l-19.674-3.006L33.809,1.15 C33.479,0.448,32.773,0,31.998,0s-1.48,0.448-1.811,1.15l-8.815,18.778L1.698,22.935c-0.741,0.113-1.356,0.632-1.595,1.343 c-0.238,0.71-0.059,1.494,0.465,2.031l14.294,14.657L11.484,61.67c-0.124,0.756,0.195,1.517,0.822,1.957 c0.344,0.243,0.747,0.366,1.151,0.366c0.332,0,0.666-0.084,0.968-0.25l17.572-9.719l17.572,9.719c0.302,0.166,0.636,0.25,0.968,0.25 c0.404,0,0.808-0.123,1.151-0.366c0.627-0.44,0.946-1.201,0.822-1.957l-3.378-20.704l14.294-14.657 C63.951,25.771,64.131,24.987,63.893,24.277z"></path></g></svg>');
}

.brightlocal__rating--stars .star.half {
  background-image: url('data:image/svg+xml,<svg fill="%23ffc107" viewBox="0 -12 536 536" xmlns="http://www.w3.org/2000/svg" stroke="%23ffc107"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><path d="M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z"></path></g></svg>');
}

.brightlocal__rating--stars .star.empty {
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 24.00 24.00" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="%23000000" transform="rotate(0)"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round" stroke="%23ffc107CCCCCC" stroke-width="0.048"></g><g id="SVGRepo_iconCarrier"><title>star_line</title><g id="页面-1" stroke-width="0.00024000000000000003" fill="none" fill-rule="evenodd"><g id="Shape" transform="translate(-240.000000, 0.000000)"><g id="star_line" transform="translate(240.000000, 0.000000)"><path d="M24,0 L24,24 L0,24 L0,0 L24,0 Z M12.5934901,23.257841 L12.5819402,23.2595131 L12.5108777,23.2950439 L12.4918791,23.2987469 L12.4918791,23.2987469 L12.4767152,23.2950439 L12.4056548,23.2595131 C12.3958229,23.2563662 12.3870493,23.2590235 12.3821421,23.2649074 L12.3780323,23.275831 L12.360941,23.7031097 L12.3658947,23.7234994 L12.3769048,23.7357139 L12.4804777,23.8096931 L12.4953491,23.8136134 L12.4953491,23.8136134 L12.5071152,23.8096931 L12.6106902,23.7357139 L12.6232938,23.7196733 L12.6232938,23.7196733 L12.6266527,23.7031097 L12.609561,23.275831 C12.6075724,23.2657013 12.6010112,23.2592993 12.5934901,23.257841 L12.5934901,23.257841 Z M12.8583906,23.1452862 L12.8445485,23.1473072 L12.6598443,23.2396597 L12.6498822,23.2499052 L12.6498822,23.2499052 L12.6471943,23.2611114 L12.6650943,23.6906389 L12.6699349,23.7034178 L12.6699349,23.7034178 L12.678386,23.7104931 L12.8793402,23.8032389 C12.8914285,23.8068999 12.9022333,23.8029875 12.9078286,23.7952264 L12.9118235,23.7811639 L12.8776777,23.1665331 C12.8752882,23.1545897 12.8674102,23.1470016 12.8583906,23.1452862 L12.8583906,23.1452862 Z M12.1430473,23.1473072 C12.1332178,23.1423925 12.1221763,23.1452606 12.1156365,23.1525954 L12.1099173,23.1665331 L12.0757714,23.7811639 C12.0751323,23.7926639 12.0828099,23.8018602 12.0926481,23.8045676 L12.108256,23.8032389 L12.3092106,23.7104931 L12.3186497,23.7024347 L12.3186497,23.7024347 L12.3225043,23.6906389 L12.340401,23.2611114 L12.337245,23.2485176 L12.337245,23.2485176 L12.3277531,23.2396597 L12.1430473,23.1473072 Z" id="MingCute" fill-rule="nonzero"></path><path d="M10.9198,2.8677 C11.402,2.03987 12.598,2.03987 13.0801,2.8677 L15.8751,7.66643 L21.3027,8.84175 C22.239,9.0445 22.6086,10.1819 21.9703,10.8963 L18.2701,15.0374 L18.8295,20.5625 C18.926,21.5156 17.9585,22.2186 17.0818,21.8323 L12,19.5929 L6.91816,21.8323 C6.04149,22.2186 5.07395,21.5156 5.17046,20.5625 L5.72987,15.0374 L2.02972,10.8963 C1.3914,10.1819 1.76097,9.0445 2.69728,8.84175 L8.12484,7.66643 L10.9198,2.8677 Z M12,4.98699 L9.68673,8.95861 C9.5101,9.26187 9.21413,9.4769 8.87114,9.55117 L4.37906,10.5239 L7.44146,13.9513 C7.67529,14.2129 7.78834,14.5609 7.75299,14.91 L7.29,19.4828 L11.4959,17.6294 C11.8171,17.4879 12.1829,17.4879 12.504,17.6294 L16.71,19.4828 L16.247,14.91 C16.2116,14.5609 16.3247,14.2129 16.5585,13.9513 L19.6209,10.5239 L15.1288,9.55117 C14.7858,9.4769 14.4899,9.26186 14.3132,8.95861 L12,4.98699 Z" fill="%23ffc107"></path></g></g></g></g></svg>');
  width: 24px;
  height: 24px;
}

.brightlocal__rating--numberReviews {
  font-size: 1rem;
  color: currentColor;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

/* Rating Shortcode style Box */

.brightlocal__rating--box {
  background-color: #fff;
  border: none;
  box-shadow: 1px 8px 18px rgba(70, 62, 62, 0.19);
  margin-bottom: 24px;
  flex-direction: column;
  padding-bottom: 40px;
  padding-top: 40px;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.brightlocal__rating--box .brightlocal__rating--number {
  font-size: clamp(1.5rem, 2.5vw, 3rem);
  font-weight: 700;
  letter-spacing: -2.56px;
  line-height: 120%;
  text-transform: uppercase;
  color: currentColor;
  margin-bottom: 16px;
}

.brightlocal__rating--box .brightlocal__rating--count {
  color: currentColor;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 150%;
  display: block;
  margin-top: 6px;
}

/* Shortcode Write a review */

.brightlocal__writeLink {
  align-items: center;
  background-color: #002d62;
  color: #fff;
  display: flex;
  font-size: clamp(0.8rem, 2vw, 1rem);
  font-weight: 700;
  height: 62px;
  justify-content: center;
  letter-spacing: -0.72px;
  line-height: 160%;
  padding-bottom: 5px;
  padding-top: 5px;
  text-align: center;
  text-transform: uppercase;
}

/* List Reviews Shortcode */

.brightlocal__reviewList {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.brightlocal__reviewList--item {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.brightlocal__reviewList--top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

@media screen and (min-width: 600px) {
  .brightlocal__reviewList--top {
    display: grid;
    grid-template-columns: 24px max-content 20px;
  }
}

.brightlocal__reviewList--middle {
  display: flex;
  gap: 6px;
  align-items: center;
}

.brightlocal__reviewList--middle {
  gap: 10px;
}

.brightlocal__reviewList--middle .brightlocal__rating--stars .star {
  width: 16px;
  height: 16px;
}

.brightlocal__reviewList--avatar,
.brightlocal__reviewList--verified {
  height: 24px;
  width: 24px;
  object-fit: cover;
  max-width: 100%;
}

.brightlocal__reviewList--verified {
  height: 20px;
  width: 20px;
}

.brightlocal__reviewList--name {
  color: currentColor;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.72px;
  line-height: 140%;
  text-transform: uppercase;
}

.brightlocal__reviewList--date {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: -0.56px;
  line-height: 160%;
  opacity: 0.8;
  text-transform: uppercase;
  color: currentColor;
}

.brightlocal__reviewList--bottom p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 150%;
  opacity: 0.8;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: currentColor;
  display: -webkit-box;
  overflow: hidden;
  transition: -webkit-line-clamp 0.3s ease;
}

.brightlocal__reviewList--bottom p.initial {
  -webkit-line-clamp: initial;
}

.brightlocal__reviewList--readMore {
  color: rgb(209, 10, 17);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.72px;
  line-height: 160%;
  text-transform: uppercase;
  margin-top: 10px;
  display: inline-block;
  transition: opacity 0.3s ease;
}

.brightlocal__loadMore {
  background-color: #002d62;
  text-align: center;
  color: white;
  padding: 10px 20px;
  font-size: clamp(0.8rem, 2vw, 1rem);
  border-radius: 6px;
  font-weight: 700;
  height: auto;
  letter-spacing: -0.72px;
  line-height: 160%;
  text-transform: uppercase;
  display: inline-block;
  transition-duration: 0.3s;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  margin-top: 32px;
}

.brightlocal__reviewList--readMore:hover,
.brightlocal__loadMore:hover {
  opacity: 0.8;
}

// Loader Spinner

.responseLoader {
  display: flex;
  justify-content: center;
}

.loader.active {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  position: relative;
  animation: rotate 1s linear infinite;
  display: inline-block;
}
.loader.active::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  inset: 0px;
  border-radius: 50%;
  border: 5px solid #ed5e54;
  animation: animationLoadMore 2s linear infinite;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes animationLoadMore {
  0% {
    clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
  }
  25% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
  }
  50% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
  }
  75% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);
  }
  100% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);
  }
}

// Slider Reviews

.brightlocal-reviews--item {
  height: 100%;
  padding: 0;
}

.brightlocal-reviews--box {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border-radius: 8px;
  min-height: 320px;
  padding: 2rem;
  text-align: center;
}

.brightlocal-reviews--description {
  margin-bottom: 24px;
  margin-left: auto;
  margin-right: auto;
  max-width: 588px;
  text-align: center;
  text-transform: capitalize;
  color: currentColor;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: 140%;
}

.brightlocal-reviews--name {
  color: currentColor;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: left;
  margin-top: auto;
}

.brightlocal-reviews--star {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.brightlocal-reviews--icon {
  margin-top: 2px;
}

.brightlocal-reviews--star,
.brightlocal-reviews--date {
  margin-top: 8px;
}

.brightlocal-reviews--date {
  color: currentColor;
  font-size: 0.875rem;
  display: block;
}

.brightlocal-reviews--navigation {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  margin-top: 3rem;
}

.brightlocal-reviews--navigation button:hover svg rect {
  fill: #ed5e54;
}

.brightlocal-reviews--navigation button:hover svg g,
.brightlocal-reviews--navigation button:hover svg path {
  fill: white;
}

/* TODO: add attributes to the shortcode to customize the slider item */
.brightlocal-reviews--itemFeedback .brightlocal-reviews--box {
  padding: 0;
}

.brightlocal-reviews--itemFeedback .brightlocal-reviews--description {
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

.brightlocal-reviews--itemFeedback .brightlocal-reviews--number {
  color: #03091c;
  font-family: inherit;
  font-size: 48px;
  font-style: normal;
  font-weight: 800;
  line-height: 100%; /* 48px */
  letter-spacing: -1.92px;
  text-transform: uppercase;
  margin-bottom: 6px;
  display: block;
}

.brightlocal-reviews--itemFeedback .brightlocal-reviews--stars {
  margin-bottom: 18px;
  display: block;
}

.brightlocal-reviews--itemFeedback .brightlocal-reviews--overall {
  font-family: inherit;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 28.8px */
  display: block;
  text-align: center;
  margin-bottom: 32px;
  text-wrap: balance;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

.brightlocal-reviews--itemFeedback .brightlocal-reviews--button {
  display: flex;
  padding: 12px 36px;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  align-self: stretch;
  background-color: #004e9d;
  color: var(--light-1, #f5f5f5);
  text-align: center;
  font-family: inherit;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px; /* 200% */
  text-transform: uppercase;
  max-width: 267px;
  margin-left: auto;
  margin-right: auto;
}

.brightlocal-reviews--itemFeedback .brightlocal-reviews--button:hover {
  background-color: #003f7f;
}

.brightlocal-reviews--slick .slick-dots {
  bottom: -50px;
}

.brightlocal-reviews--slick .slick-next {
  right: -5px;
}
.brightlocal-reviews--slick .slick-prev {
  left: -5px;
}

/* Message when api key, CDI or Endpoint is not set */

.brightlocal__notConfigured {
  font-weight: bold;
  color: #d10a11;
  font-size: clamp(0.8rem, 2vw, 1rem);
  text-align: center;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.brightlocal__notConfigured.text-left {
  text-align: left;
  padding-left: 1.2rem;
}

/* Sticky for rating box and write a review button */

.brightlocal__sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 32px;
}
