/* ──────────────────────────────────────────────────────────────────────────
   Wedding reviews rail — shared by the concierge paywall (wedding-chat.html)
   and the concierge landing page (wedding-venue-concierge.html).

   The markup is built by wedding-reviews.js; this file is only its skin, so
   the two pages cannot drift apart on styling.

   Palette: --wed-a / --wed-b come from tuscany-wedding-venues.css, which sets
   them to the pink pair under <body class="wed-pink">. wedding-chat.html does
   not load that sheet, so every use carries the pink fallback and both pages
   land on the same colours.
   ────────────────────────────────────────────────────────────────────────── */

.wr-proof {
  width: 100%;
  margin: 22px 0 4px;
}

.wr-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  font-size: 0.78rem;
  color: #8a92a8;
}

.wr-head .wr-stars {
  color: var(--wed-a, #ff4f81);
  letter-spacing: 1.5px;
}

.wr-rail {
  display: flex;
  gap: 12px;
  margin: 0;
  /* the padding is what keeps the cards' shadows out of the clip */
  padding: 12px 4px 16px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  /* fades both ends, so a card hanging half off the side reads as
     "there's more" rather than as a box with its contents cropped */
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 30px, #000 calc(100% - 30px), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 30px, #000 calc(100% - 30px), transparent);
}

.wr-rail::-webkit-scrollbar { display: none; }

.wr-card {
  flex: 0 0 258px;
  box-sizing: border-box;
  text-align: left;
  background: #fff;
  border: 1px solid rgba(0, 14, 51, 0.08);
  border-radius: 16px;
  padding: 15px 16px;
  box-shadow: 0 1px 2px rgba(0, 14, 51, 0.04), 0 14px 32px -22px rgba(0, 14, 51, 0.45);
  /* column + the margin-top:auto on .wr-who: cards are the same height, so
     the names line up along the bottom however long the quote runs */
  display: flex;
  flex-direction: column;
}

.wr-card-stars {
  color: var(--wed-a, #ff4f81);
  font-size: 0.66rem;
  letter-spacing: 1.5px;
}

.wr-quote {
  margin: 7px 0 12px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #414a63;
}

.wr-who {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
}

/* Gradient ring in the page's wedding pink, around the app's monogram fill. */
.wr-ava {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  padding: 2px;
  flex: 0 0 auto;
  background: linear-gradient(135deg, var(--wed-a, #ff4f81), var(--wed-b, #c27aff));
}

/* These are the values .nav-monogram carries in member-home.css — the wash
   every other monogram in the app wears. They are copied rather than reused
   because .nav-monogram is defined twice in this repo and means something
   else in tuscany-wedding-venues.css (a solid navy circle), so a page that
   loads that sheet would render these initials in the wrong skin. */
.wr-ava-in {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, rgba(0, 102, 255, 0.22), transparent 45%),
    radial-gradient(circle at top right, rgba(194, 122, 255, 0.28), transparent 45%),
    linear-gradient(135deg, #eef4ff 0%, #f5efff 55%, #f8f3ff 100%);
  border: 1px solid rgba(194, 122, 255, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  color: #000e33;
}

.wr-ava-in img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wr-name {
  display: block;
  font-size: 0.79rem;
  font-weight: 700;
  color: #000e33;
  line-height: 1.25;
}

.wr-meta {
  display: block;
  font-size: 0.71rem;
  color: #8a92a8;
  line-height: 1.35;
}
