/* rp-reviews: CSS da seção (o <style> de sections/rp-reviews.liquid). */
rp-reviews.rp-rv {
  display: block;
  background: #fff;
  color: #171717;
  --rp-rv-accent: #c4566a;
  --rp-rv-soft: #f4cfd3;
  --rp-rv-line: #f0e3e5;
}

.rp-rv__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(48px, 6vw, 88px) 0 clamp(48px, 6vw, 80px);
}

.rp-rv__head {
  max-width: 720px;
  margin: 0 auto clamp(28px, 4vw, 44px);
  padding: 0 20px;
  text-align: center;
}

.rp-rv__title {
  margin: 0 0 12px;
  padding: 0;
  font-family: "RP Awesome Serif Trial", Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.2vw, 52px);
  font-weight: 500;
  font-style: normal;
  line-height: 1.05;
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--rp-rv-accent);
  text-wrap: balance;
}

.rp-rv__title span {
  display: inline;
  padding: 0 .04em .1em 0;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, .85) 0 .7px, transparent 1.5px),
    linear-gradient(100deg, #b54a60 0%, #e48a95 55%, #f2a7aa 100%);
  background-size: 9px 9px, 100% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.rp-rv__title em,
.rp-rv__title i {
  padding-right: .07em;
  font-family: inherit;
  font-style: italic;
  font-weight: 400;
  color: inherit;
  -webkit-text-fill-color: inherit;
}

.rp-rv__subtitle {
  max-width: 460px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.6;
  color: #6f6266;
  text-wrap: balance;
}

.rp-rv__notice {
  display: inline-block;
  max-width: 520px;
  margin: 18px auto 0;
  padding: 8px 14px;
  border: 1px dashed #e4b9c0;
  border-radius: 10px;
  background: #fff8f9;
  font-size: 11px;
  line-height: 1.5;
  color: #8c4a59;
}

.rp-rv__slider { position: relative; }

.rp-rv__track {
  display: flex;
  align-items: stretch;
  gap: 20px;
  margin: 0;
  padding: 4px 20px 22px 30px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-padding-inline: 30px 20px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.rp-rv__track::-webkit-scrollbar { display: none; }
.rp-rv__track:focus-visible { outline: 2px solid var(--rp-rv-accent); outline-offset: -2px; }

.rp-rv__track > .rp-rv__card,
.rp-rv__slot {
  flex: 0 0 calc(100% / 1.12);
  min-width: 0;
  scroll-snap-align: start;
}

.rp-rv__slot { display: flex; }
.rp-rv__slot > .rp-rv__card { flex: 1 1 auto; }

.rp-rv__card {
  display: flex;
  flex-direction: column;
  min-height: 240px;
  margin: 0;
  padding: 24px 22px 22px;
  border: 1px solid #ecd2d7;
  border-radius: 16px;
  background: #fff;
  box-shadow: -8px 8px 0 var(--rp-rv-soft);
}

.rp-rv__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0 0 14px;
}

.rp-rv__stars { display: inline-flex; gap: 2px; }
.rp-rv__star {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  border-radius: 2px;
  background: var(--rp-rv-star, #00b67a);
}
.rp-rv__star svg { display: block; width: 12px; height: 12px; }
.rp-rv__star--empty { background: #dcdce6; }

.rp-rv__rating-label { font-size: 13px; font-weight: 400; line-height: 1.2; color: #3d3034; }
.rp-rv__rating-label strong { font-weight: 600; }

.rp-rv__badge {
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.rp-rv__badge--sample { border: 1px dashed #d9a3ad; background: #fff8f9; color: #8c4a59; }
.rp-rv__badge--verified { background: #f6efe3; color: #7a5c27; }

.rp-rv__quote {
  flex: 1 0 auto;
  margin: 0 0 18px;
  font-family: "RP Awesome Serif Trial", Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.4;
  color: #2b1720;
  overflow-wrap: anywhere;
}

.rp-rv__author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
}

.rp-rv__avatar {
  display: flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border-radius: 50%;
  background: #f9e7e9;
  color: #a44256;
  font-family: "RP Awesome Serif Trial", Georgia, serif;
  font-size: 20px;
  line-height: 1;
}

.rp-rv__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }

.rp-rv__name {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: #171717;
  overflow-wrap: anywhere;
}

.rp-rv__tags { display: flex; flex-wrap: wrap; gap: 8px; }

.rp-rv__tag {
  padding: 6px 12px;
  border: 1px solid #ecd2d7;
  border-radius: 999px;
  background: #fdf5f6;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  color: #a44256;
}

.rp-rv .rp-rv__arrow {
  position: absolute;
  top: calc(50% - 11px);
  z-index: 2;
  display: none;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  border: 1px solid #ecd2d7;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 6px 18px rgba(43, 23, 32, .08);
  color: #2b1720;
  cursor: pointer;
  transition: background-color .2s ease, opacity .2s ease;
}

.rp-rv .rp-rv__arrow[disabled] { opacity: .35; cursor: default; }
.rp-rv__arrow--prev { left: 12px; }
.rp-rv__arrow--next { right: 12px; }
.rp-rv .rp-rv__arrow:focus-visible { outline: 2px solid var(--rp-rv-accent); outline-offset: 3px; }

.rp-rv__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: max-content;
  max-width: calc(100% - 40px);
  height: 28px;
  margin: 10px auto 0;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--rp-rv-accent);
}

.rp-rv__dots[hidden] { display: none; }

.rp-rv .rp-rv__dot {
  position: relative;
  display: flex;
  align-items: center;
  width: 8px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: #fff;
  cursor: pointer;
  transition: width .2s ease;
}

.rp-rv .rp-rv__dot::before { content: ""; position: absolute; inset: -8px -4px; }
.rp-rv__dot > span { display: block; width: 100%; height: 8px; border-radius: 999px; background: currentColor; opacity: .5; }
.rp-rv .rp-rv__dot[aria-current="true"] { width: 30px; }
.rp-rv__dot[aria-current="true"] > span { opacity: 1; }
.rp-rv .rp-rv__dot:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 999px; }

@media (hover: hover) and (pointer: fine) {
  .rp-rv .rp-rv__arrow:not([disabled]):hover { background: #fff5f6; }
}

@media (min-width: 990px) {
  .rp-rv__track { gap: 32px; padding: 4px 64px 26px 74px; scroll-padding-inline: 74px 64px; }
  .rp-rv__track > .rp-rv__card,
  .rp-rv__slot { flex-basis: calc((100% - 64px) / 3); }
  .rp-rv__card { min-height: 300px; padding: 30px 28px 26px; }
  .rp-rv__quote { font-size: 22px; }
  .rp-rv .rp-rv__arrow { display: flex; }
  .rp-rv .rp-rv__arrow[hidden] { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rp-rv .rp-rv__dot,
  .rp-rv .rp-rv__arrow { transition: none; }
}
