/* Fortude article ratings v1.4.0 — self-contained; never styles Elementor or WordPress globally. */
.fbr-rating[hidden] { display: none !important; }
.fbr-rating,
.fbr-rating * { box-sizing: border-box; }
.fbr-rating {
  --fbr-star: #1F64FF;
  --fbr-star-outline: #1F64FF;
  --fbr-score: #1F64FF;
  --fbr-heading: #FFFFFF;
  --fbr-body: #E4EBF6;
  --fbr-feedback: #E4EBF6;
  --fbr-white: #FFFFFF;
  --fbr-secondary: #E4EBF6;
  --fbr-muted: #C2D0E3;
  --fbr-border: #B5C0D0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  align-items: center;
  gap: 24px 34px;
  width: 100%;
  min-width: 0;
  margin: 40px 0;
  padding: 28px 0;
  border: 0;
  border-top: 1px solid var(--fbr-border);
  border-bottom: 1px solid var(--fbr-border);
  color: var(--fbr-heading);
  font-family: "Sora", sans-serif;
  line-height: 1.6;
  isolation: isolate;
}
.fbr-rating__copy,
.fbr-rating__interaction {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  align-self: center;
}
.fbr-rating .fbr-rating__heading {
  margin: 0 0 7px;
  padding: 0;
  font: 600 19px/1.4 "Sora", sans-serif;
  letter-spacing: -.015em;
  text-transform: none;
  color: var(--fbr-heading) !important;
}
.fbr-rating .fbr-rating__intro {
  margin: 0;
  padding: 0;
  font: 400 14px/1.6 "Sora", sans-serif;
  color: var(--fbr-body) !important;
}
.fbr-rating__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 9px;
  width: 100%;
  margin: 10px 0 0;
  font: 400 13px/1.6 "Sora", sans-serif;
}
.fbr-rating .fbr-rating__average {
  color: var(--fbr-score) !important;
  font-weight: 700;
}
.fbr-rating .fbr-rating__count {
  color: var(--fbr-body) !important;
  font-weight: 400;
}
.fbr-rating__stars {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
/* Override Elementor/theme button hover, active and disabled decoration, without touching other buttons. */
.fbr-rating .fbr-rating__star,
.fbr-rating .fbr-rating__star:hover,
.fbr-rating .fbr-rating__star:focus,
.fbr-rating .fbr-rating__star:active,
.fbr-rating .fbr-rating__star:disabled {
  display: inline-flex;
  flex: 0 0 46px;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 6px;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: var(--fbr-star) !important;
  opacity: 1 !important;
  filter: none !important;
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  cursor: pointer;
  transform: none;
}
.fbr-rating .fbr-rating__star::before,
.fbr-rating .fbr-rating__star::after { content: none !important; display: none !important; }
.fbr-rating .fbr-rating__star:disabled { cursor: default; }
.fbr-rating .fbr-rating__star svg {
  display: block;
  width: 33px;
  height: 33px;
  flex: none;
  overflow: visible;
  fill: none;
  stroke: var(--fbr-star-outline);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: fill .13s ease, filter .13s ease;
}
.fbr-rating .fbr-rating__star svg path {
  fill: none !important;
  stroke: var(--fbr-star-outline) !important;
}
.fbr-rating .fbr-rating__star.is-filled svg path {
  fill: var(--fbr-star) !important;
  stroke: var(--fbr-star) !important;
}
/* Keyboard indication follows the star glyph, not a rectangular hover background. */
.fbr-rating .fbr-rating__star:focus-visible { outline: none !important; }
.fbr-rating .fbr-rating__star:focus-visible svg {
  filter: drop-shadow(0 0 4px rgba(143, 181, 255, .95));
}
.fbr-rating .fbr-rating__message {
  min-height: 21px;
  max-width: 100%;
  margin: 8px 0 0;
  padding: 0;
  overflow-wrap: anywhere;
  font: 400 13px/1.65 "Sora", sans-serif;
  color: var(--fbr-feedback) !important;
}
.fbr-rating__challenge { width: 100%; max-width: 100%; }
@media (max-width: 767px) {
  .fbr-rating { gap: 16px; margin: 30px 0; padding: 25px 0; }
  .fbr-rating .fbr-rating__heading { font-size: 18px; }
}
@media (max-width: 390px) {
  .fbr-rating { gap: 14px; }
  .fbr-rating .fbr-rating__star,
  .fbr-rating .fbr-rating__star:hover,
  .fbr-rating .fbr-rating__star:focus,
  .fbr-rating .fbr-rating__star:active,
  .fbr-rating .fbr-rating__star:disabled { width: 44px; height: 44px; flex-basis: 44px; }
  .fbr-rating .fbr-rating__star svg { width: 31px; height: 31px; }
}
@media (prefers-reduced-motion: reduce) {
  .fbr-rating .fbr-rating__star svg { transition: none; }
}
