/* Public review section; all selectors stay outside the dashboard. */
.bella-landing .reviews-section {
  padding-block: 48px;
  border-block: 1px solid var(--bella-border);
  background: radial-gradient(ellipse at 5% 0, #f8dce966, transparent 50%), #fff7fb;
}
.bella-landing .reviews-title-row { align-items: flex-start; gap: 24px; margin-bottom: 24px; }
.bella-landing .reviews-title-row .eyebrow { color: var(--bella-brand); margin-bottom: 12px; }
.bella-landing .reviews-title-row h2 { max-width: 600px; margin: 0; font-size: clamp(28px, 5.7vw, 40px); line-height: 1.18; letter-spacing: -1.1px; text-wrap: balance; }
.bella-landing .reviews-title-row h2 em { white-space: normal; }
.reviews-section .reviews-intro { margin: 14px 0 0; font-size: 14px; line-height: 1.7; color: var(--bella-muted); }
.bella-landing .reviews-title-row > a { display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; padding-block: 8px; color: var(--bella-brand); font-size: 13px; font-weight: 600; }
.bella-landing .reviews-summary-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; max-width: none; margin: 0 0 20px; padding: 26px; border: 1px solid var(--bella-border); border-radius: 24px; background: #fff; box-shadow: 0 10px 32px #73304e06; }
.bella-landing .reviews-section .review-score { position: relative; flex: none; min-width: 0; padding: 0 0 22px; border-bottom: 1px solid var(--bella-border); }
.reviews-section .review-score-label { margin: 0 0 6px; color: var(--bella-muted); font-size: 12px; font-weight: 500; line-height: 1.6; }
.bella-landing .reviews-section .review-score > strong { font-size: 64px; font-weight: 650; line-height: 1.1; letter-spacing: -3px; color: var(--bella-text); }
.bella-landing .reviews-section .review-score > span { font-size: 18px; margin-left: 6px; color: var(--bella-muted); }
.bella-landing .reviews-section .review-score > .rating-stars { display: block; margin-top: 8px; font-size: 20px; }
.bella-landing .reviews-section .review-summary-text h3 { margin: 0 0 8px; font-size: 21px; line-height: 1.4; letter-spacing: -.5px; }
.bella-landing .reviews-section .review-summary-text > p { margin: 0; max-width: 510px; font-size: 13px; line-height: 1.8; }
.review-summary-facts { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.review-summary-facts > span { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; min-height: 32px; padding: 7px 10px; border-radius: 8px; background: #fff3f8; color: var(--bella-brand); font-size: 11px; line-height: 1.5; }
.review-summary-facts svg, .review-filters svg, .reviews-sort-note svg { width: 17px; height: 17px; flex: none; }
.bella-landing .reviews-section .reviews-buy-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 14px; color: var(--bella-brand); font-size: 12px; font-weight: 600; text-underline-offset: 4px; }
.reviews-media-showcase { min-width: 0; margin: 0 0 28px; padding: 20px 18px 12px; border: 1px solid var(--bella-border); border-radius: 20px; background: #ffffffa8; }
.reviews-media-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 16px; margin-bottom: 16px; }
.reviews-media-heading h3 { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 600; letter-spacing: -.2px; }
.reviews-media-heading p { margin: 0; color: var(--bella-muted); font-size: 11px; line-height: 1.6; }
.bella-landing .reviews-section .reviews-media-strip { display: flex; gap: 10px; width: 100%; max-width: none; margin: 0; padding: 0 2px 10px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #d8a4bc transparent; }
.bella-landing .reviews-section .reviews-media-strip > li { flex: 0 0 104px; width: 104px; max-width: none; scroll-snap-align: start; }
.reviews-section .reviews-media-strip a { border-radius: 12px; border-color: #efdce5; }
.reviews-section .reviews-media-strip a:focus-visible { outline-offset: -4px; }
.reviews-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.bella-landing .reviews-section .review-filters { display: inline-flex; flex-wrap: nowrap; gap: 5px; max-width: 100%; margin: 0; padding: 5px; border: 1px solid var(--bella-border); border-radius: 16px; background: #fff; }
.bella-landing .reviews-section .review-filters > a { gap: 7px; min-height: 43px; padding: 9px 12px; border: 0; border-radius: 11px; background: transparent; font-size: 12px; white-space: nowrap; }
.bella-landing .reviews-section .review-filters > a[aria-current="true"] { background: var(--bella-brand); color: #fff; box-shadow: 0 3px 8px #a82d611a; }
.bella-landing .reviews-section .review-filters > a > span { min-width: 24px; padding: 2px 6px; font-size: 10px; background: #f9edf3; color: var(--bella-muted); }
.bella-landing .reviews-section .review-filters > a[aria-current="true"] > span { background: #ffffff26; color: #fff; }
.reviews-sort-note { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--bella-muted); font-size: 11px; line-height: 1.6; }
.reviews-sort-note svg { color: var(--bella-brand); }
.bella-landing .reviews-section .review-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }
.bella-landing .reviews-section .review-grid > .review-card { position: relative; min-width: 0; margin: 0; padding: 0; border: 1px solid #ecd9e2; border-radius: 20px; background: #fff; box-shadow: 0 6px 20px #73304e04; overflow: hidden; }
.review-card-media { position: relative; min-width: 0; }
.bella-landing .reviews-section .review-card .review-photos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; max-width: none; margin: 0; padding: 12px 12px 0; gap: 7px; }
.bella-landing .reviews-section .review-card .review-photos > li { width: 100%; max-width: none; }
.bella-landing .reviews-section .review-card .review-photos > li:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
.bella-landing .reviews-section .review-card .review-photos > li:nth-child(1 of :not([hidden])) { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
.reviews-section .review-card .review-photos a { border-color: #f3e3ea; border-radius: 11px; background: #fbf5f8; }
.reviews-section .review-card .review-photos a:hover img { transform: scale(1.035); }
.review-media-badge { position: absolute; top: 24px; left: 24px; display: inline-flex; align-items: center; min-height: 25px; padding: 5px 9px; border: 1px solid #ffffffc9; border-radius: 8px; background: #ffffffed; color: var(--bella-text); font-size: 10px; font-weight: 600; line-height: 1.5; pointer-events: none; box-shadow: 0 2px 8px #44253409; }
.review-card-media:has(.review-photos[hidden]) { display: none; }
.review-card[data-has-photo="false"] .review-card-media { display: none; }
.review-card-content { padding: 20px; }
.bella-landing .reviews-section .review-author { gap: 11px; margin: 0 0 12px; font-size: 13px; line-height: 1.5; }
.bella-landing .reviews-section .review-author > span { width: 35px; height: 35px; flex: 0 0 35px; border-radius: 50%; background: #faedf3; color: var(--bella-brand); font-size: 13px; font-weight: 600; }
.reviews-section .review-author-identity { min-width: 0; }
.reviews-section .review-author-identity > b { font-weight: 600; overflow-wrap: anywhere; }
.reviews-section .review-location { display: block; margin-top: 2px; color: var(--bella-muted); font-size: 11px; line-height: 1.5; font-weight: 400; overflow-wrap: anywhere; }
.review-card-rating { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; }
.reviews-section .review-card-stars { font-size: 16px; line-height: 1.2; }
.review-rating-number { font-size: 11px; line-height: 1.4; font-weight: 600; color: var(--bella-muted); }
.bella-landing .reviews-section .review-card .review-comment { margin: 0; color: #6d5260; font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; white-space: pre-line; }
.bella-landing .reviews-section .reviews-more { gap: 14px; margin-top: 32px; }
.reviews-section .reviews-more > p { color: var(--bella-muted); font-size: 12px; line-height: 1.6; }
.reviews-reading-progress { display: block; appearance: none; width: 180px; height: 4px; border: 0; border-radius: 4px; overflow: hidden; color: var(--bella-brand); background: #f0dce6; }
.reviews-reading-progress::-webkit-progress-bar { background: #f0dce6; border-radius: 4px; }
.reviews-reading-progress::-webkit-progress-value { background: var(--bella-brand); border-radius: 4px; }
.reviews-reading-progress::-moz-progress-bar { background: var(--bella-brand); border-radius: 4px; }
.reviews-reading-progress[hidden] { display: none; }
.bella-landing .reviews-section .reviews-load-more { gap: 24px; width: 100%; max-width: 330px; min-height: 50px; border-radius: 13px; background: #fff; color: var(--bella-brand); box-shadow: 0 5px 16px #73304e05; }
.bella-landing .reviews-section .reviews-load-more:hover { background: var(--bella-brand); color: #fff; }
.reviews-load-more > span { font-size: 21px; line-height: 1; font-weight: 400; }
@media (min-width: 600px) {
  .bella-landing .reviews-summary-card { grid-template-columns: 160px minmax(0, 1fr); gap: 28px; padding: 30px; }
  .bella-landing .reviews-section .review-score { padding: 0 28px 0 0; border: 0; border-right: 1px solid var(--bella-border); }
  .bella-landing .reviews-section .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bella-landing .reviews-section .reviews-media-strip > li { flex-basis: 120px; width: 120px; }
}
@media (min-width: 1000px) {
  .bella-landing .reviews-section { padding-block: 64px; }
  .bella-landing .reviews-summary-card { grid-template-columns: 190px minmax(0, 1fr); padding: 34px; }
  .bella-landing .reviews-section .review-score > strong { font-size: 72px; }
  .bella-landing .reviews-section .review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .reviews-media-showcase { padding: 22px 24px 14px; }
}
@media (max-width: 359px) {
  .bella-landing .reviews-summary-card { padding: 22px; }
  .bella-landing .reviews-section .review-filters > a { gap: 5px; padding-inline: 9px; font-size: 11px; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .bella-landing .reviews-section .review-grid > .review-card { transition: box-shadow .2s, border-color .2s; }
  .bella-landing .reviews-section .review-grid > .review-card:hover { border-color: #d9adc1; box-shadow: 0 10px 28px #73304e0b; }
}
