/* --- Client review summary, rendered inline at the top of the footer ------
   This replaces the old fixed-position "Safari Reviews" badge that floated
   over the page. The rating still travels with every page, but it now sits in
   the normal document flow inside the footer, so it can never cover the copy
   a reader is in the middle of. */
.rv-summary-wrap {
  display: none;
  margin-bottom: 22px;
}
.rv-summary-wrap.visible { display: block; }

.rv-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 14px 18px;
  border-radius: 14px;
  text-decoration: none;
  color: #0f3d34;
  background: linear-gradient(135deg, rgba(212,160,23,0.14), rgba(23,87,68,0.06));
  border: 1px solid rgba(212,160,23,0.45);
  transition: border-color 0.25s ease, background 0.25s ease;
}
.rv-summary:hover,
.rv-summary:focus-visible {
  border-color: #0f3d34;
  background: linear-gradient(135deg, rgba(212,160,23,0.2), rgba(23,87,68,0.1));
}
.rv-summary-score {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 17px;
  font-weight: 700;
  color: #0f3d34;
  background: linear-gradient(135deg, #e8bd45, #d4a017);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.5);
}
.rv-summary-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  line-height: 1.25;
}
.rv-summary-label {
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: #8a6b12;
}
.rv-summary-text { font-size: 14px; font-weight: 600; }
/* Two-layer stars: a muted track with a gold overlay clipped to the score. */
.rv-summary-stars {
  position: relative;
  display: inline-block;
  font-size: 15px;
  letter-spacing: 2px;
  color: rgba(15,61,52,0.22);
}
.rv-summary-stars.rv-summary-stars-full { color: #d4a017; }
.rv-summary-stars .rv-summary-stars-fill {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #d4a017;
  width: 100%;
}
.rv-summary-cta {
  margin-left: auto;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: #0f3d34;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .rv-summary { gap: 11px; padding: 12px 14px; }
  .rv-summary-score { width: 36px; height: 36px; font-size: 15px; }
  .rv-summary-cta { margin-left: 0; width: 100%; }
}
