.rfrl{--rfrl-border:color-mix(in srgb,currentColor 13%,transparent);--rfrl-muted:color-mix(in srgb,currentColor 62%,transparent);margin-top:48px;font-family:inherit;color:inherit}.rfrl *{box-sizing:border-box}.rfrl__header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.rfrl__title{margin:0;font:inherit;font-size:clamp(24px,3vw,38px);font-weight:600}.rfrl__count{margin:5px 0 0;color:var(--rfrl-muted);font-size:14px}.rfrl__controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.rfrl__controls input,.rfrl__controls select{min-height:42px;padding:9px 34px 9px 13px;border:1px solid var(--rfrl-border);border-radius:10px;background:Canvas;color:CanvasText;font:inherit;font-size:14px}.rfrl__search{width:min(230px,100%)}.rfrl__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px}.rfrl__card{min-width:0;overflow:hidden;border:1px solid var(--rfrl-border);border-radius:14px;background:Canvas;box-shadow:0 1px 3px rgba(0,0,0,.03);animation:rfrl-card-in .42s cubic-bezier(.16,1,.3,1) both}.rfrl__card[hidden]{display:none}.rfrl__open{width:100%;padding:0;display:block;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.rfrl__open:focus-visible{outline:3px solid #1681e8;outline-offset:-3px}.rfrl__image{width:100%;aspect-ratio:4/4.25;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.16,1,.3,1)}.rfrl__open:hover .rfrl__image{transform:scale(1.025)}.rfrl__body{padding:15px;display:flex;flex-direction:column;gap:7px}.rfrl__name{font-size:15px}.rfrl__verified{display:inline-grid;place-items:center;width:14px;height:14px;margin-left:2px;border-radius:50%;background:currentColor;color:Canvas;font-size:9px}.rfrl__date{color:var(--rfrl-muted);font-size:12px}.rfrl__stars,.rfrl__modal-stars{color:#f5b400;letter-spacing:1px}.rfrl__excerpt{font-size:14px;line-height:1.45}.rfrl__product{margin-top:6px;padding-top:10px;border-top:1px solid var(--rfrl-border);color:var(--rfrl-muted);font-size:12px}.rfrl__more{min-height:42px;margin:24px auto 0;padding:8px 18px;display:block;border:1px solid var(--rfrl-border);border-radius:10px;background:Canvas;color:inherit;font:inherit;cursor:pointer}.rfrl__more:hover{background:color-mix(in srgb,currentColor 5%,Canvas)}.rfrl__more[hidden],.rfrl__empty[hidden]{display:none}.rfrl__empty{padding:50px 20px;text-align:center;color:var(--rfrl-muted)}@keyframes rfrl-card-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.rfrl__modal[hidden]{display:none}.rfrl__modal{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:24px}.rfrl__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);animation:rfrl-fade .2s ease both}.rfrl__dialog{position:relative;z-index:1;width:min(920px,100%);max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-columns:minmax(280px,45%) 1fr;overflow:hidden;border-radius:14px;background:Canvas;color:CanvasText;box-shadow:0 24px 80px rgba(0,0,0,.32);animation:rfrl-dialog-in .4s cubic-bezier(.16,1,.3,1) both}.rfrl__close{position:absolute;z-index:2;top:12px;left:12px;width:38px;height:38px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(20,20,20,.72);color:#fff;font:inherit;font-size:27px;line-height:1;cursor:pointer}.rfrl__modal-image-wrap{min-height:430px;background:color-mix(in srgb,currentColor 8%,Canvas)}.rfrl__modal-image{width:100%;height:100%;display:block;object-fit:cover}.rfrl__modal-image-wrap.is-empty{display:none}.rfrl__modal-content{min-width:0;max-height:min(760px,calc(100vh - 48px));padding:28px 30px;display:flex;flex-direction:column;overflow:auto}.rfrl__modal-head{display:flex;justify-content:space-between;gap:18px;padding-bottom:20px}.rfrl__modal-name{margin:0 0 5px;font:inherit;font-size:20px;font-weight:600}.rfrl__modal-date{color:var(--rfrl-muted);font-size:12px;white-space:nowrap}.rfrl__modal-text{padding:5px 0 24px;font-size:16px;line-height:1.6;white-space:pre-line}.rfrl__details{margin:auto 0 0;padding-top:18px;border-top:1px solid var(--rfrl-border);display:grid;grid-template-columns:max-content 1fr;gap:8px 15px;font-size:13px}.rfrl__details dt{color:var(--rfrl-muted)}.rfrl__details dd{margin:0}@keyframes rfrl-fade{from{opacity:0}to{opacity:1}}@keyframes rfrl-dialog-in{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:1100px){.rfrl__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.rfrl__header{align-items:stretch;flex-direction:column}.rfrl__controls{justify-content:flex-start}.rfrl__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rfrl__dialog{grid-template-columns:42% 1fr}}@media(max-width:600px){.rfrl{margin-top:36px}.rfrl__controls{display:grid;grid-template-columns:1fr 1fr}.rfrl__search{grid-column:1/-1;width:100%}.rfrl__grid{grid-template-columns:1fr;gap:12px}.rfrl__card{display:grid;grid-template-columns:38% 1fr}.rfrl__card[hidden]{display:none}.rfrl__open{display:contents}.rfrl__image{width:100%;height:100%;min-height:210px;aspect-ratio:auto}.rfrl__body{justify-content:center}.rfrl__modal{padding:10px}.rfrl__dialog{max-height:calc(100vh - 20px);display:block;overflow:auto}.rfrl__modal-image-wrap{min-height:0;height:min(47vh,410px)}.rfrl__modal-content{max-height:none;padding:22px}.rfrl__close{top:8px;left:8px}.rfrl__details{grid-template-columns:1fr}.rfrl__details dd{margin-bottom:6px}}@media(prefers-reduced-motion:reduce){.rfrl *{animation-duration:1ms!important;transition-duration:1ms!important}}

/* Product context and centered zoom-out modal motion. */
.rfrl__modal-product{margin-top:18px;padding-top:16px;border-top:1px solid var(--rfrl-border);display:flex;align-items:center;gap:13px}.rfrl__modal-product[hidden]{display:none}.rfrl__modal-product-image{width:58px;height:58px;flex:0 0 58px;border-radius:7px;object-fit:cover;background:color-mix(in srgb,currentColor 8%,Canvas)}.rfrl__modal-product-image[hidden]{display:none}.rfrl__modal-product-info{min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:8px}.rfrl__modal-product-name{font-size:14px;line-height:1.35}.rfrl__modal-product-link{display:inline-flex;align-items:center;min-height:36px;padding:8px 14px;border-radius:8px;background:color-mix(in srgb,currentColor 7%,Canvas);color:inherit;font-size:13px;text-decoration:none}.rfrl__modal-product-link:hover{background:color-mix(in srgb,currentColor 12%,Canvas)}.rfrl__modal-product-link:focus-visible{outline:3px solid #1681e8;outline-offset:2px}@keyframes rfrl-dialog-in{from{opacity:0;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}

/* Reference-style review summary and collapsible filters. */
.rfrl__header{align-items:center;padding:6px 0 16px;border-bottom:1px solid var(--rfrl-border)}.rfrl__rating-summary{display:inline-flex;align-items:center;gap:9px;padding:5px 0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.rfrl__average-stars{position:relative;display:inline-block;color:#ddd;letter-spacing:2px;font-size:25px;line-height:1}.rfrl__average-stars:before{content:'★★★★★';position:absolute;inset:0 auto 0 0;width:var(--rfrl-rating-width);overflow:hidden;color:#f5b400;white-space:nowrap}.rfrl__average-number{font-size:16px}.rfrl__chevron{width:9px;height:9px;margin-left:1px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}.rfrl__rating-summary[aria-expanded=true] .rfrl__chevron{transform:translateY(2px) rotate(225deg)}.rfrl__header-actions{display:flex;align-items:center;gap:8px}.rfrl__write-review,.rfrl__filter-toggle{min-height:41px;border:1px solid var(--rfrl-border);border-radius:9px;background:Canvas;color:inherit;font:inherit}.rfrl__write-review{padding:9px 14px;display:inline-flex;align-items:center;text-decoration:none}.rfrl__filter-toggle{width:41px;padding:9px;display:flex;flex-direction:column;justify-content:center;gap:4px;cursor:pointer}.rfrl__filter-toggle span{position:relative;width:19px;height:2px;background:currentColor}.rfrl__filter-toggle span:nth-child(1):after,.rfrl__filter-toggle span:nth-child(3):after{content:'';position:absolute;top:-2px;width:6px;height:6px;border:1px solid currentColor;border-radius:50%;background:Canvas}.rfrl__filter-toggle span:nth-child(1):after{left:4px}.rfrl__filter-toggle span:nth-child(3):after{right:3px}.rfrl__filter-panel{position:relative;margin:0 0 22px;padding:14px;border:1px solid var(--rfrl-border);border-top:0;border-radius:0 0 12px 12px;background:Canvas;box-shadow:0 12px 30px rgba(0,0,0,.07);animation:rfrl-filter-in .22s cubic-bezier(.16,1,.3,1) both}.rfrl__filter-panel[hidden]{display:none}.rfrl__filter-panel .rfrl__controls{justify-content:flex-start}.rfrl__filter-panel .rfrl__count{margin:10px 0 0}.rfrl__reset{min-height:42px;padding:9px 13px;border:0;background:transparent;color:inherit;text-decoration:underline;font:inherit;font-size:13px;cursor:pointer}@keyframes rfrl-filter-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:600px){.rfrl__header{flex-direction:row;align-items:center;gap:12px}.rfrl__average-stars{font-size:20px;letter-spacing:1px}.rfrl__average-number{font-size:14px}.rfrl__write-review{padding:8px 10px;font-size:13px}.rfrl__filter-panel .rfrl__controls{grid-template-columns:1fr}.rfrl__filter-panel .rfrl__search{grid-column:auto}}

.rfrl.filters-open .rfrl__header{margin-bottom:0}

.rfrl__modal-video{width:100%;height:100%;display:block;object-fit:contain;background:#000}.rfrl__modal-video[hidden],.rfrl__modal-image[hidden]{display:none}

/* Rating distribution, reference sort menu, masonry flow, and product footers. */
.rfrl__header{position:relative}.rfrl__rating-popover,.rfrl__sort-popover{position:absolute;z-index:20;top:calc(100% + 1px);padding:18px 20px;border:1px solid var(--rfrl-border);border-radius:0 0 5px 5px;background:Canvas;color:CanvasText;box-shadow:0 10px 28px rgba(0,0,0,.14);animation:rfrl-filter-in .2s cubic-bezier(.16,1,.3,1) both}.rfrl__rating-popover[hidden],.rfrl__sort-popover[hidden]{display:none}.rfrl__rating-popover{left:0;width:min(405px,calc(100vw - 32px))}.rfrl__rating-total{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 10px;font-size:34px;font-weight:700}.rfrl__rating-total span{color:#f5b400;font-size:36px}.rfrl__rating-option{width:100%;min-height:36px;padding:4px 5px;display:grid;grid-template-columns:105px minmax(80px,1fr) 48px;align-items:center;gap:9px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.rfrl__rating-option:hover,.rfrl__rating-option.is-active{background:#fff8df}.rfrl__rating-row-stars{color:#f5b400;letter-spacing:1px;font-size:19px;white-space:nowrap}.rfrl__rating-bar{height:9px;overflow:hidden;background:color-mix(in srgb,currentColor 7%,Canvas)}.rfrl__rating-bar i{height:100%;display:block;background:#888}.rfrl__rating-count{text-align:right;font-size:14px}.rfrl__sort-popover{right:0;width:275px;padding:18px 12px}.rfrl__sort-popover h3{margin:0 9px 10px;font:inherit;font-size:19px;font-weight:700}.rfrl__sort-option{width:100%;min-height:45px;padding:9px;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.rfrl__sort-option:hover{background:color-mix(in srgb,currentColor 5%,Canvas)}.rfrl__sort-option span{visibility:hidden;font-size:22px}.rfrl__sort-option.is-active span{visibility:visible}.rfrl__count{margin:9px 0 16px}.rfrl__grid{display:block;columns:4;column-gap:12px}.rfrl__card{width:100%;margin:0 0 12px;display:inline-block;vertical-align:top;break-inside:avoid;page-break-inside:avoid}.rfrl__card[hidden]{display:none!important}.rfrl__product-card{margin-top:8px;padding-top:12px;border-top:1px solid var(--rfrl-border);display:flex;align-items:center;gap:11px;color:inherit;font-size:12px;line-height:1.35}.rfrl__product-card img{width:56px;height:56px;flex:0 0 56px;border-radius:2px;object-fit:cover;background:color-mix(in srgb,currentColor 8%,Canvas)}.rfrl__product-card span{min-width:0}@media(max-width:1100px){.rfrl__grid{columns:3}}@media(max-width:820px){.rfrl__grid{columns:2}}@media(max-width:600px){.rfrl__grid{columns:1}.rfrl__card{display:inline-block}.rfrl__open{display:block}.rfrl__image{width:100%;height:auto;min-height:0;aspect-ratio:4/4.25}.rfrl__body{display:flex}.rfrl__rating-popover{padding:14px 10px}.rfrl__rating-option{grid-template-columns:95px minmax(65px,1fr) 42px;gap:6px}.rfrl__rating-row-stars{font-size:17px}.rfrl__sort-popover{right:0;width:min(275px,calc(100vw - 20px))}}

/* Isolate popup media from theme/page-builder image rules. */
.rfrl__modal,
.rfrl__modal * {
  box-sizing: border-box;
}
.rfrl__modal .rfrl__modal-image-wrap {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.rfrl__modal .rfrl__modal-image,
.rfrl__modal .rfrl__modal-video {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
.rfrl__modal .rfrl__modal-image { object-fit: cover !important; }
.rfrl__modal .rfrl__modal-video { object-fit: contain !important; }
.rfrl__modal .rfrl__modal-image[hidden],
.rfrl__modal .rfrl__modal-video[hidden] {
  display: none !important;
}

/* Keep popup media and copy in separate, non-overlapping mobile rows. */
@media (max-width: 600px) {
  .rfrl__modal .rfrl__dialog {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  .rfrl__modal .rfrl__modal-image-wrap {
    position: relative !important;
    inset: auto !important;
    order: 0 !important;
    width: 100% !important;
    height: min(47vh, 410px) !important;
    height: min(47dvh, 410px) !important;
    min-height: 240px !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  .rfrl__modal .rfrl__modal-image,
  .rfrl__modal .rfrl__modal-video {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
  }
  .rfrl__modal .rfrl__modal-image { object-fit: cover !important; }
  .rfrl__modal .rfrl__modal-video { object-fit: contain !important; }
  .rfrl__modal .rfrl__modal-image[hidden],
  .rfrl__modal .rfrl__modal-video[hidden],
  .rfrl__modal .rfrl__modal-image-wrap.is-empty {
    display: none !important;
  }
  .rfrl__modal .rfrl__modal-content {
    position: relative !important;
    inset: auto !important;
    order: 1;
    z-index: 1;
    width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 22px !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
    transform: none !important;
    background: Canvas !important;
  }
  .rfrl__modal .rfrl__modal-head {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 20px !important;
    transform: none !important;
  }
}
