/* Customer reviews: inherit BBE's product page palette and type. */
#tab-review.bbe-reviews-tab {
  --review-ink: #172344;
  --review-muted: #59657a;
  --review-blue: #23366b;
  --review-paper: #ffffff;
  --review-wash: #f3f5fa;
  --review-line: #dfe4ee;
  --review-star: #99700d;
  --review-focus: #3666b5;
  color: var(--review-ink);
  padding: 32px;
  scroll-margin-top: 230px;
}
#tab-review .bbe-reviews *, #tab-review .bbe-review-compose * { box-sizing: border-box; }
#tab-review .bbe-reviews [hidden] { display: none !important; }
#tab-review .bbe-reviews-header { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin: 0 0 24px; }
#content #tab-review .bbe-reviews-heading { display: block; color: var(--review-ink); font-size: 26px; font-weight: 700; line-height: 1.3; margin: 0; padding: 0; border: 0; background: none; }
#tab-review .bbe-reviews-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 44px; border: 1px solid var(--review-blue); border-radius: 4px; background: var(--review-blue); color: var(--review-paper); padding: 11px 20px; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: none; text-transform: none; cursor: pointer; top: auto; transition: background-color .18s, color .18s; }
#tab-review .bbe-reviews-button:hover { background: var(--review-ink); color: var(--review-paper); }
#tab-review .bbe-reviews-button-secondary { background: var(--review-paper); color: var(--review-blue); }
#tab-review .bbe-reviews-button-secondary:hover { background: var(--review-wash); color: var(--review-blue); }
#tab-review .bbe-reviews-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
#tab-review .bbe-reviews-summary { display: grid; grid-template-columns: 150px 240px minmax(0,1fr); align-items: center; gap: 32px; padding: 28px; background: var(--review-wash); border-radius: 12px; }
#content #tab-review .bbe-reviews-summary h3 { font-size: 14px; line-height: 1.5; color: var(--review-ink); font-weight: 600; margin: 0 0 10px; padding: 0; border: 0; background: none; }
#tab-review .bbe-reviews-score-number { display: flex; gap: 8px; align-items: baseline; margin-bottom: 8px; }
#tab-review .bbe-reviews-score-number strong { font-size: 52px; font-weight: 700; line-height: 1; letter-spacing: -.03em; color: var(--review-ink); }
#tab-review .bbe-reviews-score-number > span { font-size: 16px; color: var(--review-muted); }
#tab-review .bbe-reviews-summary p { color: var(--review-muted); font-size: 13px; line-height: 1.5; padding: 0; margin: 10px 0 0; }
#tab-review .bbe-review-stars { display: inline-flex; align-items: center; gap: 3px; height: 20px; vertical-align: middle; }
#tab-review .bbe-review-star { width: 18px; height: 18px; display: inline-flex; position: relative; color: var(--review-muted); }
#tab-review .bbe-review-star svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; }
#tab-review .bbe-review-star-fill { display: block; position: absolute; inset: 0 auto 0 0; overflow: hidden; color: var(--review-star); }
#tab-review .bbe-review-star-fill svg { width: 18px; height: 18px; max-width: none; fill: currentColor; }
#tab-review .bbe-reviews-distribution { display: grid; gap: 10px; }
#tab-review .bbe-reviews-distribution-row { display: grid; grid-template-columns: 30px minmax(0,1fr) 26px; gap: 10px; align-items: center; font-size: 13px; line-height: 1; }
#tab-review .bbe-reviews-distribution-row > span:first-child { display: flex; align-items: center; gap: 4px; }
#tab-review .bbe-reviews-small-star { display: inline-flex; width: 12px; height: 12px; }
#tab-review .bbe-reviews-small-star svg { width: 100%; height: 100%; fill: var(--review-muted); }
#tab-review .bbe-reviews-bar { height: 6px; background: #dce2ed; border-radius: 3px; overflow: hidden; }
#tab-review .bbe-reviews-bar > span { display: block; height: 100%; background: var(--review-blue); border-radius: inherit; }
#tab-review .bbe-reviews-distribution-count { color: var(--review-muted); text-align: right; font-variant-numeric: tabular-nums; }
#tab-review .bbe-reviews-gallery { min-width: 0; align-self: start; }
#tab-review .bbe-reviews-gallery-images { display: flex; gap: 8px; flex-wrap: wrap; }
#tab-review a.bbe-review-photo { display: block; position: relative; top: auto; overflow: hidden; border-radius: 6px; background: #e3e7ee; text-decoration: none; }
#tab-review a.bbe-review-photo::after { content: ''; position: absolute; inset: 0; background: var(--review-blue); opacity: 0; pointer-events: none; transition: opacity .18s; }
#tab-review a.bbe-review-photo:hover::after { opacity: .12; }
#tab-review .bbe-review-photo img { display: block; object-fit: cover; width: 112px; height: 112px; max-height: none; margin: 0; border: 0; }
#tab-review .bbe-reviews-gallery .bbe-review-photo img { width: 96px; height: 96px; }
#tab-review .bbe-reviews-toolbar { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; margin-top: 28px; }
#tab-review .bbe-reviews-filters { display: flex; flex-wrap: wrap; gap: 8px; }
#tab-review .bbe-reviews-filter { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 16px; border: 1px solid var(--review-line); border-radius: 4px; background: var(--review-paper); color: var(--review-ink); font-family: inherit; font-size: 14px; font-weight: 500; line-height: 1.4; cursor: pointer; transition: background-color .18s; }
#tab-review .bbe-reviews-filter span { font-size: 12px; font-variant-numeric: tabular-nums; }
#tab-review .bbe-reviews-filter.is-active { background: var(--review-blue); border-color: var(--review-blue); color: var(--review-paper); }
#tab-review .bbe-reviews-filter:hover:not(.is-active) { background: var(--review-wash); }
#tab-review .bbe-reviews-sort { display: flex; align-items: center; gap: 10px; color: var(--review-muted); font-size: 13px; margin: 0; }
#tab-review .bbe-reviews-sort select { width: auto; max-width: 100%; min-height: 44px; font-family: inherit; font-size: 14px; color: var(--review-ink); padding: 8px 28px 8px 12px; border: 1px solid var(--review-line); border-radius: 4px; background-color: var(--review-paper); }
#tab-review .bbe-reviews-status { min-height: 22px; font-size: 13px; color: var(--review-muted); margin: 18px 0 0; line-height: 1.6; padding: 0; }
#tab-review .bbe-review-item { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 28px; padding: 28px 0; border-bottom: 1px solid var(--review-line); } /* taste-skill-ignore: separators identify individual review rows in the existing product UI. */
#content #tab-review .bbe-review-person h3 { font-size: 15px; font-weight: 600; line-height: 1.5; color: var(--review-ink); margin: 0 0 6px; padding: 0; border: 0; background: none; overflow-wrap: anywhere; }
#tab-review .bbe-review-person time { font-size: 13px; line-height: 1.5; color: var(--review-muted); font-variant-numeric: tabular-nums; }
#tab-review .bbe-review-content { min-width: 0; }
#tab-review .bbe-review-text { font-size: 16px; line-height: 1.75; color: var(--review-ink); max-width: 72ch; margin: 10px 0 0; padding: 0; overflow-wrap: anywhere; }
#tab-review .bbe-review-images { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
#tab-review .bbe-reviews-more { display: flex; justify-content: center; margin-top: 28px; }
#tab-review .bbe-reviews-empty, #tab-review .bbe-reviews-filter-empty { padding: 32px 0; font-size: 16px; line-height: 1.6; color: var(--review-muted); }
#tab-review .bbe-review-compose { margin-top: 36px; border: 1px solid var(--review-line); border-radius: 8px; padding: 0 24px; scroll-margin-top: 230px; }
#tab-review .bbe-review-compose > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; cursor: pointer; color: var(--review-ink); list-style: none; font-size: 18px; font-weight: 600; line-height: 1.5; }
#tab-review .bbe-review-compose > summary::-webkit-details-marker { display: none; }
#tab-review .bbe-review-compose > summary::after { content: '+'; font-size: 24px; font-weight: 400; }
#tab-review .bbe-review-compose[open] > summary::after { content: '−'; }
#tab-review #form-review { padding: 0 0 24px; margin: 0; }
#tab-review .bbe-review-form-hint { margin: 0 0 20px; color: var(--review-muted); font-size: 14px; line-height: 1.6; }
#tab-review #form-review .control-label { color: var(--review-ink); font-size: 14px; font-weight: 600; padding-top: 0; margin-bottom: 8px; }
#tab-review #form-review .form-control { font-size: 16px; font-family: inherit; line-height: 1.5; border: 1px solid var(--review-line); border-radius: 4px; background: var(--review-paper); color: var(--review-ink); box-shadow: none; padding: 12px; caret-color: var(--review-blue); } /* taste-skill-ignore: remove the inherited form input shadow. */
#tab-review #input-name { max-width: 440px; height: 46px; }
#tab-review #input-review { resize: vertical; min-height: 130px; }
#tab-review #dZUpload { border: 1px dashed #8c99af; border-radius: 6px; background: var(--review-wash); min-height: 100px; font-size: 14px; color: var(--review-muted); cursor: pointer; }
#tab-review #dZUpload .dz-message { margin: 16px 0; }
#tab-review .bbe-review-upload-hint { display: block; font-size: 12px; margin: 6px 0 0; color: var(--review-muted); line-height: 1.5; }
#tab-review .bbe-review-rating-options { display: flex; flex-wrap: wrap; gap: 8px; }
#tab-review .bbe-review-rating-option { position: relative; margin: 0; }
#tab-review .bbe-review-rating-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
#tab-review .bbe-review-rating-option span { display: flex; align-items: center; gap: 6px; min-width: 62px; min-height: 44px; justify-content: center; padding: 10px; border: 1px solid var(--review-line); border-radius: 4px; color: var(--review-ink); font-size: 15px; cursor: pointer; }
#tab-review .bbe-review-rating-option svg { width: 16px; height: 16px; fill: var(--review-star); }
#tab-review .bbe-review-rating-option input:checked + span { border-color: var(--review-blue); background: var(--review-wash); outline: 1px solid var(--review-blue); outline-offset: -2px; }
#tab-review .bbe-review-rating-option input:focus-visible + span { outline: 2px solid var(--review-focus); outline-offset: 3px; }
#tab-review .bbe-review-compose .buttons { margin: 24px 0 0; padding: 0; border: 0; }
#tab-review .bbe-review-compose .buttons::after { content: ''; display: table; clear: both; }
#tab-review .bbe-review-login { font-size: 15px; padding-bottom: 24px; line-height: 1.6; }
#tab-review :is(.bbe-reviews, .bbe-reviews-header, .bbe-review-compose) :is(a,button,select,input,textarea,summary):focus-visible { outline: 2px solid var(--review-focus); outline-offset: 3px; }
#tab-review .bbe-reviews-button:disabled, #tab-review .bbe-reviews-filter:disabled, #tab-review select:disabled { cursor: wait; opacity: .65; }
#tab-review .bbe-reviews[aria-busy="true"] .bbe-reviews-status { color: var(--review-blue); }
#tab-review .bbe-reviews ::selection, #tab-review .bbe-review-compose ::selection { background: var(--review-blue); color: var(--review-paper); }
@media (max-width: 1200px) {
  #tab-review .bbe-reviews-summary { grid-template-columns: 150px minmax(0,1fr); gap: 24px; }
  #tab-review .bbe-reviews-gallery { grid-column: 1 / -1; }
  #tab-review .bbe-reviews-gallery .bbe-review-photo img { width: 80px; height: 80px; }
}
@media (max-width: 760px) {
  #tab-review.bbe-reviews-tab { padding: 24px 16px; scroll-margin-top: 116px; }
  #tab-review .bbe-reviews-header { gap: 12px; margin-bottom: 20px; }
  #content #tab-review .bbe-reviews-heading { font-size: 23px; }
  #tab-review .bbe-reviews-header .bbe-reviews-button { padding: 10px 14px; }
  #tab-review .bbe-reviews-summary { padding: 20px 16px; grid-template-columns: 114px minmax(0,1fr); gap: 24px 16px; }
  #tab-review .bbe-reviews-score-number strong { font-size: 46px; }
  #tab-review .bbe-reviews-distribution-row { grid-template-columns: 26px minmax(0,1fr) 20px; gap: 6px; }
  #tab-review .bbe-reviews-gallery .bbe-review-photo img { width: 72px; height: 72px; }
  #tab-review .bbe-reviews-toolbar { margin-top: 22px; gap: 14px; }
  #tab-review .bbe-reviews-filter { padding: 10px 14px; }
  #tab-review .bbe-reviews-sort { margin-left: auto; }
  #tab-review .bbe-review-item { grid-template-columns: minmax(0,1fr); gap: 12px; padding: 24px 0; }
  #tab-review .bbe-review-person { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
  #content #tab-review .bbe-review-person h3 { margin: 0; }
  #tab-review .bbe-review-person time { white-space: nowrap; }
  #tab-review .bbe-review-images { gap: 8px; }
  #tab-review .bbe-review-images .bbe-review-photo img { width: 96px; height: 96px; }
  #tab-review .bbe-review-compose { padding: 0 16px; scroll-margin-top: 116px; }
  #tab-review .bbe-review-compose > summary { font-size: 17px; padding: 18px 0; }
}
@media (prefers-reduced-motion: reduce) {
  #tab-review .bbe-reviews *, #tab-review .bbe-reviews-button { transition: none; scroll-behavior: auto; }
}
#tab-review .bbe-review-photo-fallback { display: none; }
#tab-review a.bbe-review-photo.is-unavailable img { visibility: hidden; }
#tab-review .bbe-review-photo.is-unavailable .bbe-review-photo-fallback { display: flex; position: absolute; inset: 0; align-items: center; justify-content: center; flex-direction: column; gap: 6px; color: var(--review-blue); font-size: 12px; text-align: center; padding: 4px; }
#tab-review .bbe-review-photo-fallback svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; }
#tab-review .bbe-review-rating-field { border: 0; padding: 0; min-width: 0; }
#tab-review .bbe-review-rating-field legend { float: left; width: 100%; border: 0; margin-bottom: 8px; }
#tab-review .bbe-reviews-retry { border: 0; padding: 8px; margin: -8px 0; min-height: 44px; background: none; color: var(--review-blue); font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
#tab-review .bbe-review-rating-options { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; max-width: 360px; }
#tab-review .bbe-review-rating-option::before { content: none !important; }
#tab-review .bbe-review-rating-option span { min-width: 0; padding: 10px 6px; }
#tab-review .bbe-review-rating-field > legend::before { content: '*'; color: #ab2539; margin-right: 4px; }
