/** Shopify CDN: Minification failed

Line 62:34 Unexpected "*"
Line 81:80 Unterminated string token

**/
/* FD brand ---------------------------------------------------------------
   Furniture Done PDP: the reviews band. Loaded by sections/fd-reviews.liquid.

   Two halves. The first is ours: where the band sits, the head/widget gap, the
   anchor offset. The second re-skins Judge.me's Review Widget, whose DOM we do
   not own.

   PORTED 2026-08-22 to Judge.me's NEW-GENERATION widget (widget_version 3.0,
   "revamp"), which the band was migrated to in 0f221e5. The old-generation
   `.jdgm-rev*` DOM this file was written against (2026-08-11, commit 66a9966)
   no longer renders, so almost every selector here changed. Read against the
   live DOM on the dev theme plus the app's own stylesheets under
     https://cdn.shopify.com/extensions/01a02574-6390-715b-9622-33ef4acfdaa1/
       judgeme-719/assets/
   (Button-*.css, ReviewItem-*.css, ReviewContent-*.css, PaginationControls-*.css,
   StarRating-*.css, VerifiedBadge-*.css, widget_v3_base/main/form.css).

   CLASS MAP, old -> new:
     .jdgm-rev-widg .................. .jm-review-widget
     .jdgm-rev-widg__title ........... .jm-review-widget-minimal-header__title
     .jdgm-rev-widg__summary-average . .jm-average-rating-display .jm-text (1st)
     .jdgm-rev-widg__summary-text .... .jm-average-rating-display .jm-text (2nd)
     .jdgm-star ...................... .jm-star-rating__font-icon
                                       (.jdgm-star survives ONLY in the modal)
     .jdgm-write-rev-link ............ .jm-action-buttons__button
     .jdgm-submit-rev ................ .jdgm-write-review-modal__nav-btn-next
     .jdgm-sort-dropdown ............. .jm-sort-filter__select
                                       (element still carries .jdgm-sort-dropdown)
     .jdgm-sort-dropdown-arrow ....... .jm-sort-filter__icon--chevron (svg)
     .jdgm-rev ....................... .jm-review-item
     .jdgm-rev__author ............... .jm-reviewer-info__name
     .jdgm-rev__timestamp ............ driven by --jm-review-widget-lighter-text-color
     .jdgm-rev__title ................ .jm-review-content__title
     .jdgm-rev__body ................. .jm-review-content__body
     .jdgm-rev__buyer-badge .......... .jm-verified-badge
     .jdgm-rev__reply ................ .jm-shop-reply
     .jdgm-rev__reply-content ........ .jm-shop-reply__text
     .jdgm-paginate__page ............ .jm-pagination-controls__button--page
     .jdgm-paginate__page.jdgm-curt .. .jm-pagination-controls__button--active
     .jdgm-form / .jdgm-form-wrapper . .jdgm-write-review-modal__* (see section 10)
     .jdgm-histogram* ................ NO EQUIVALENT -- the widget is configured to
                                       the "minimal header" layout, which ships an
                                       average + a count and no histogram at all.
                                       Those rules are deleted, not ported.
     .jdgm-rev__thumb-btn ............ .jm-voting-controls__button
     .jdgm-rev__share-btn ............ .jm-social-share-button

   HOW THE NEW WIDGET IS THEMED, which is the whole game here:
   - It is a Vue app with scoped styles ([data-v-*] attributes). NO shadow DOM
     and NO iframe on the product page -- everything is reachable from here.
   - It exposes a real token layer: --jm-review-widget-text-color,
     --jm-review-widget-lighter-text-color,
     --jm-review-widget-star-and-histogram-color,
     --jm-review-widget-button-color, --jm-review-widget-button-text-color,
     --jm-widget-primary-color, --jm-widget-border-radius (+ -simplified),
     and a --jm-space-*/--jm-font-*/--jm-corner-* scale. Setting those tokens is
     preferred over deep selectors, because vendor rules we cannot see (states,
     sub-widgets that only appear at runtime) read them too.
   - BUT the app writes those tokens as an INLINE style attribute on
     .jm-review-widget, on every .jm-review-item and on the pagination page
     buttons. An inline declaration beats any stylesheet rule, so re-pointing
     them is the one place !important is unavoidable. It is used ONLY on those
     custom-property declarations, and nowhere else in this file.
   - Everything else wins on document order: the vendor sheets are <link>s in
     <head>, our stylesheet_tag renders inside the section in <body>, so at
     equal specificity we come later and win. Vendor state rules sit at 0,3,0
     ([data-v] counts as an attribute), so hover/state rules below are written
     to three simple selectors to tie, and the tie goes to us.

   STAR COLOUR: FOREST. Signed off 2026-08-11 against mocks/reviews-widget.html.
   Tan appears only as a focus ring and the reply rule -- decorative uses. It is
   never a text colour. No new hex: every colour is an existing --fd-* token
   from base.css.

   Rem note: the mock runs on the browser default 16px rem, Dawn's root is 62.5%
   (1rem = 10px), so mock rems are written here x1.6 and mock px values are
   written as rems at the same painted size (1px = 0.1rem).
   ------------------------------------------------------------------------ */

/* ============================================================
   1. THE BAND -- ours
   ============================================================ */

/* The star line in the buy column links to #fd-reviews. Without this the
   sticky header lands on top of the heading. --fd-stick-top is the measured
   header height (the same variable the collection filter bar sticks to); the
   fallback matches fd-collection.css. */
.fd-reviews {
  scroll-margin-top: calc(var(--fd-stick-top, 13rem) + 2rem);
}

/* The head owns no bottom gap here -- the widget sets its own, matching the
   run-on rhythm "The detail" uses directly above this band. */
.fd-reviews .fd-sec-head {
  margin-bottom: 0;
}

.fd-reviews__widget {
  margin-top: clamp(2.56rem, 3vw, 3.52rem);
}

/* Judge.me hydrates the widget client-side, so the div is empty on first
   paint. The band sits between two tall sections and the reflow is very
   visible; a modest floor absorbs it without pretending to be a skeleton of
   content we do not have yet. The widget root still carries .jdgm-widget in
   the new generation, so this selector survived the migration unchanged. */
.fd-reviews__widget .jdgm-widget:empty {
  min-height: 12rem;
}

/* ============================================================
   2. JUDGE.ME TOKENS -- re-point the widget's own custom properties
   !important is required and only here: the app sets these as an inline
   style attribute (see the header note). The attribute selector catches
   every element the app stamps them on -- today the widget root, each
   review card and the pagination page buttons -- so a future carrier is
   covered without another release.
   ============================================================ */
.fd-reviews .jm-review-widget,
.fd-reviews [style*='--jm-review-widget-text-color'] {
  --jm-review-widget-text-color: var(--fd-ink) !important;
  --jm-review-widget-lighter-text-color: var(--fd-muted) !important;
  --jm-review-widget-star-and-histogram-color: var(--fd-green) !important;
  --jm-review-widget-button-color: var(--fd-green) !important;
  --jm-review-widget-button-text-color: var(--fd-paper) !important;
  --jm-widget-primary-color: var(--fd-green) !important;
  --jm-widget-border-radius: 0.2rem !important;
  --jm-widget-border-radius-simplified: 0.2rem !important;
}

/* ============================================================
   3. THE WIDGET SHELL
   ============================================================ */
.fd-reviews .jm-review-widget {
  font-family: var(--font-body-family);
  color: var(--fd-ink);
}

/* The widget's own "Customer Reviews" heading always goes: this band supplies
   its heading from a section setting, and two headings would read as a bug.
   The app's inline settings block only sets visibility:hidden on the legacy
   title, which no longer exists; the new-gen title is a live element and has
   to be removed here. */
.fd-reviews .jm-review-widget-minimal-header__title {
  display: none;
}

/* ============================================================
   4. STARS
   New-gen draws stars either as SVG (fill/stroke from a Vue-hashed variable)
   or, as configured here, as glyphs from Judge.me's own icon font -- so the
   colour is plain `color`. The token in section 2 is the real lever; this is
   the belt to its braces.
   ============================================================ */
.fd-reviews .jm-star-rating__font-icon {
  color: var(--fd-green);
}

/* ============================================================
   5. SUMMARY HEADER
   The minimal-header layout is an average, a review count and the controls.
   There is no histogram to restyle. Geometry is the vendor's; type and
   colour are ours.
   ============================================================ */
.fd-reviews .jm-average-rating-display .jm-text:first-child {
  font-family: var(--font-heading-family);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--fd-ink);
}

.fd-reviews .jm-average-rating-display .jm-text:last-child {
  color: var(--fd-muted);
}

/* ============================================================
   6. BUTTONS -- write a review
   Same idiom as every other CTA on the site (fd-home.css .fd-btn):
   forest at rest, ink-cta with a tan bar and a 2px lift on hover.
   Colour is never the only signal -- the bar and the lift come with it.
   The vendor lays this button out block/100% inside a 15.5em cluster
   (and full-width under 768px); that layout is left alone deliberately.
   ============================================================ */
.fd-reviews .jm-action-buttons .jm-action-buttons__button {
  padding: 1.44rem 2.72rem;
  border: 0;
  border-radius: 0.2rem;
  background: var(--fd-green);
  color: var(--fd-paper);
  font-family: var(--font-body-family);
  font-size: 1.472rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
}

.fd-reviews .jm-action-buttons .jm-action-buttons__button:hover,
.fd-reviews .jm-action-buttons .jm-action-buttons__button:focus-visible {
  background: var(--fd-ink-cta);
  color: var(--fd-paper);
  transform: translateY(-0.2rem);
  box-shadow: 0 0.3rem 0 0 var(--fd-tan);
}

.fd-reviews .jm-action-buttons .jm-action-buttons__button:active {
  transform: translateY(0);
  box-shadow: none;
}

/* ============================================================
   7. SORT + FILTER CONTROLS
   ============================================================ */
/* The control is configured "compact": the vendor deliberately paints the
   native select's own text transparent, hides the caret and centres a sort
   glyph over it, so it reads as a square icon button. Only the shell is ours
   -- setting a colour, a padding or a font-size here would fight a 0,3,0
   vendor rule and break that layout. The dropdown list itself is the one bit
   of text, and it is the `option` colour. */
.fd-reviews .jm-sort-filter__select {
  border: 0.1rem solid var(--fd-border);
  border-radius: 0.2rem;
  background: var(--fd-surface);
  font-family: var(--font-body-family);
}

.fd-reviews .jm-sort-filter__select option {
  color: var(--fd-ink);
}

.fd-reviews .jm-sort-filter__select:hover {
  background: var(--fd-tan-soft);
}

/* The caret and the sort glyph are inline SVGs that paint from `color`. */
.fd-reviews .jm-sort-filter__icon {
  color: var(--fd-ink);
}

/* The "Filters" button is a vendor secondary button: transparent ground with
   a border and a label taken from the text colour. Same hairline the rest of
   the page is ruled with, and the brand's control type. */
.fd-reviews .jm-filters .jm-custom-answer-filter {
  padding: 0.8rem 1.28rem;
  border: 0.1rem solid var(--fd-border);
  border-radius: 0.2rem;
  background: var(--fd-surface);
  color: var(--fd-ink);
  font-family: var(--font-body-family);
  font-weight: 600;
}

.fd-reviews .jm-filters .jm-custom-answer-filter:hover,
.fd-reviews .jm-filters .jm-custom-answer-filter:focus-visible {
  border-color: var(--fd-tan);
  background: var(--fd-tan-soft);
  color: var(--fd-ink);
}

/* ============================================================
   8. ONE REVIEW
   .jm-review-item is a .jm-box--inherit-color, so `color: inherit` is forced
   onto every descendant -- setting the card's own colour is what carries the
   author, date and body, and per-element colour rules inside the card would
   be overruled. Hence the token in section 2 does the colour work here.
   ============================================================ */
/* Vendor mixes this rule from the text colour at 0,3,0
   (.jdgm-review-list .jm-review-item[data-v-*]); matched at three simple
   selectors here so the brand hairline wins the tie on document order. */
.fd-reviews .jdgm-review-list .jm-review-item {
  border-bottom: 0.1rem solid var(--fd-border);
}

.fd-reviews .jm-reviewer-info__name {
  font-family: var(--font-body-family);
  font-weight: 700;
}

.fd-reviews .jm-review-content__title {
  font-family: var(--font-heading-family);
  font-weight: 700;
}

.fd-reviews .jm-review-content__body {
  font-family: var(--font-body-family);
}

/* Vendor: black on Judge.me's mint #9cf2e7. Forest on the soft tan ground is
   the same badge the mock showed. */
.fd-reviews .jm-verified-badge {
  border-radius: 0.2rem;
  background-color: var(--fd-tan-soft);
  color: var(--fd-green);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Vendor draws the shop reply with a left rule mixed from the text colour.
   Tan is the brand's rule here -- one of the two legal decorative uses of tan
   on this page. */
.fd-reviews .jm-shop-reply {
  border-left-color: var(--fd-tan);
}

/* ============================================================
   9. PAGINATION
   Vendor ships these as solid primary pills. The band reads as plain
   numbers, current one in ink, per the mock.
   ============================================================ */
.fd-reviews .jm-pagination-controls .jm-pagination-controls__button {
  border: 0;
  border-radius: 0.2rem;
  background: transparent;
  color: var(--fd-muted);
  font-family: var(--font-body-family);
  font-weight: 600;
}

.fd-reviews .jm-pagination-controls .jm-pagination-controls__button:hover,
.fd-reviews .jm-pagination-controls .jm-pagination-controls__button:focus-visible {
  background: var(--fd-tan-soft);
  color: var(--fd-ink);
}

.fd-reviews .jm-pagination-controls .jm-pagination-controls__button--active {
  background: transparent;
  color: var(--fd-ink);
  text-decoration: underline;
  text-decoration-color: var(--fd-tan);
  text-decoration-thickness: 0.2rem;
  text-underline-offset: 0.4rem;
}

/* ============================================================
   10. WRITE-A-REVIEW MODAL
   New-gen moved the form out of the band: the app appends
   div.jdgm-review-widget-modal.jdgm-write-review-modal to <body>, OUTSIDE
   .fd-reviews, so nothing above reaches it. It is still this page's DOM --
   no iframe, no shadow root -- so it is styled here, unscoped from the band
   but reachable only where this stylesheet loads (the PDP). The old
   .jdgm-form / .jdgm-form-wrapper rules had no new-gen equivalent and are
   replaced by these. Strings inside it are still app-admin's, not ours.
   ============================================================ */

/* SPECIFICITY NOTE, measured 2026-08-22: widget_v3_base/main/form.css are
   appended to <body> by the app's loader, i.e. AFTER our stylesheet_tag, so
   document order goes to the vendor for anything those three files declare --
   which is the whole modal. Every rule below therefore doubles the modal class
   to reach three simple selectors and beat the vendor's two outright. (The
   in-band rules above face component stylesheets that are <link>s in <head>,
   where we still win on order and no doubling is needed.) */

/* The modal is the one place the legacy --jdgm-* palette is still read (the
   vendor form CSS resolves 13 declarations from it). Re-pointing it here
   means the brand wins even if the app's own colour setting is changed. */
.jdgm-write-review-modal {
  --jdgm-primary-color: var(--fd-green);
  --jdgm-secondary-color: var(--fd-tan-soft);
}

.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__content {
  background: var(--fd-paper);
  color: var(--fd-ink);
  font-family: var(--font-body-family);
}

.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__title {
  font-family: var(--font-heading-family);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--fd-ink);
}

.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__intro,
.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__field-help {
  color: var(--fd-muted);
}

.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__field-label {
  color: var(--fd-ink);
  font-family: var(--font-body-family);
  font-weight: 600;
}

.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__field-input {
  border: 0.1rem solid var(--fd-border);
  border-radius: 0.2rem;
  background: var(--fd-surface);
  color: var(--fd-ink);
  font-family: var(--font-body-family);
}

.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__field-input:focus,
.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__field-input:focus-visible {
  border-color: var(--fd-tan);
  outline: 0.2rem solid var(--fd-tan);
  outline-offset: 0.1rem;
}

/* The submit control: the old .jdgm-submit-rev, same CTA idiom as section 6. */
.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__nav-btn-next {
  border-radius: 0.2rem;
  background: var(--fd-green);
  color: var(--fd-paper);
  font-family: var(--font-body-family);
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: background 0.18s ease;
}

.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__nav-btn-next:hover,
.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__nav-btn-next:focus-visible {
  background: var(--fd-ink-cta);
  color: var(--fd-paper);
  opacity: 1;
}

.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__nav-btn-back {
  color: var(--fd-muted);
  font-family: var(--font-body-family);
  font-weight: 600;
}

/* ============================================================
   11. FOCUS
   Every interactive part of the widget gets the same tan ring the rest of
   the site uses, because Judge.me ships focus rules that only remove the
   outline and a keyboard user would otherwise lose the caret in this band.
   ============================================================ */
.fd-reviews .jm-sort-filter__select:focus-visible,
.fd-reviews .jm-review-content__expand-button:focus-visible,
.fd-reviews .jm-shop-reply__expand-button:focus-visible,
.fd-reviews .jm-voting-controls__button:focus-visible,
.fd-reviews .jm-social-share-button:focus-visible,
.fd-reviews .jm-filters .jm-custom-answer-filter:focus-visible,
.fd-reviews .jm-pagination-controls .jm-pagination-controls__button:focus-visible,
.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__close-btn:focus-visible,
.jdgm-write-review-modal.jdgm-write-review-modal .jdgm-write-review-modal__nav-btn:focus-visible {
  outline: 0.2rem solid var(--fd-tan);
  outline-offset: 0.4rem;
}

/* ------------------------------------------------------------------------
   NOT RESTYLED, and why:
   - The histogram, the review-title element and the verified badge do not
     appear in the current configuration/content (minimal header; the imported
     reviews carry no titles and are not verified purchases). Their rules are
     written from the vendor stylesheets, not from a rendered screenshot, and
     the two that had no new-gen class at all were deleted rather than guessed.
   - Every visible STRING in the widget and in the modal is Judge.me's, set in
     the app admin. CSS cannot and must not change them.
   ------------------------------------------------------------------------ */
