/* AV Ratings custom CSS */
/* Vapovor theme — avratings components (moved from vapovor-components.css, 19/10/2026). */
body #main :is(.avreviews) { border-radius: var(--vvp-ds-radius-panel); }
body #main :is(.avreviews-ai-link) { gap: 10px; text-decoration: none; }
body #main :is(.avreviews-ai-link)>span[aria-hidden="true"] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: var(--vvp-ds-subtle,#eef0f2); color: var(--vvp-ds-action); font-size: 18px; line-height: 1; }
body #main :is(.avreviews-ai-link):hover>span[aria-hidden="true"] { background-color: var(--vvp-ds-action-soft,#e7ecf5); }
body #main .avreviews-grid { display: grid; grid-template-columns: minmax(160px,.7fr) minmax(200px,1fr) minmax(0,1.5fr); gap: 24px; align-items: start; overflow: visible; }
body #main .avreviews-summary { width: auto; min-width: 0; padding: 0; border: 0; background: transparent; }
body #main .avreviews-summary>h2 { margin-bottom: 12px; }
body #main .avreviews-breakdown { min-width: 0; padding: 50px 0 0; }
body #main .avreview { width: auto; min-width: 0; max-width: none; margin: 0; padding: 16px 0 0 24px; border: 0; border-left: 1px solid var(--vvp-confort-line); background: transparent; border-radius: 0; }
body #main .avreview:nth-of-type(n+2) { grid-column: 1/-1; border-left: 0; border-top: 1px solid var(--vvp-confort-line); padding: 20px 0 0; }
@media (max-width: 991.98px) {
  body #main .avreviews-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--vvp-ui-section-gap); }
  body #main .avreviews-breakdown { padding-top: 30px; }
  body #main .avreview { grid-column: 1/-1; border-left: 0; border-top: 1px solid var(--vvp-confort-line); padding: 20px 0 0; }
}
@media (max-width: 767.98px) {
  body #main .avreviews-grid { grid-template-columns: minmax(0,1fr); }
  body #main .avreviews-breakdown { padding-top: 0; }
}
body #main .avreviews-heading { margin-bottom: 28px; }
body #main .avreviews-ai .avreviews-ai-link { box-sizing: border-box; display: inline-flex; align-items: center; gap: var(--vvp-ui-control-gap); width: fit-content; max-width: 100%; min-height: var(--vvp-ui-control-height); padding: 12px 20px; border: 0; border-radius: var(--vvp-ui-control-radius); background: #fff; color: var(--vvp-ds-action); font-size: 15px; line-height: 22px; font-weight: var(--vvp-ui-control-weight); text-decoration: none; }
body #main .avreviews-ai .avreviews-ai-link>span[aria-hidden="true"], body #main .avreviews-ai .avreviews-ai-link:hover>span[aria-hidden="true"] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 20px; width: 20px; height: 20px; margin-left: auto; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 22px; line-height: 20px; font-weight: 400; }
body #main .avreviews-ai .avreviews-ai-link:hover { background: #fff; color: #172f56; box-shadow: inset 0 0 0 1px #cad4e2; }
body #main .avreviews-ai .avreviews-ai-link:focus-visible { outline: 2px solid var(--vvp-ds-action); outline-offset: 3px; }
body #wrapper #main .avsite { --avsite-line: var(--vvp-ui-info-line,#dfe6f0); display: grid; grid-template-columns: minmax(300px,1.05fr) minmax(0,1.95fr); gap: 0; color: var(--vvp-ds-action,#263b63); }
body #wrapper #main .avsite__heading { grid-column: 1 / -1; align-items: center; margin: 0 0 28px; gap: 20px; }
body #wrapper #main .avsite__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; color: var(--vvp-ds-muted,#687586); font-size: 13px; line-height: 1.5; font-weight: 400; }
body #wrapper #main .avsite__eyebrow::before { content: ''; width: 28px; height: 2px; flex: 0 0 auto; background: #e93270; }
body #wrapper #main .avsite__all-label { text-decoration: underline; text-underline-offset: 4px; }
body #wrapper #main .avsite :is(a,summary,button):focus-visible { outline: 2px solid var(--vvp-ds-action,#263b63); outline-offset: 4px; }
body #wrapper #main .avsite__summary { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 16px; margin: 0; padding: 28px; border: 0; border-radius: 12px 0 0 12px; background: var(--vvp-ds-action,#263b63); }
body #wrapper #main .avsite__summary .avsite__score { color: #fff; line-height: 1.1; }
body #wrapper #main .avsite__score strong { color: #fff; font-size: clamp(64px,5.5vw,80px); font-weight: 600; line-height: 1; letter-spacing: -.04em; }
body #wrapper #main .avsite__score span { font-size: 30px; }
body #wrapper #main .avsite__score .avsite__period { display: block; max-width: 250px; margin-top: 12px; color: #fff; font-size: 15px; line-height: 1.55; white-space: normal; }
body #wrapper #main .avsite__summary>div { display: grid; align-content: start; width: 100%; gap: 6px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.25); }
body #wrapper #main .avsite__summary>div>p { color: rgba(255,255,255,.75); font-size: 14px; line-height: 1.6; }
body #wrapper #main .avsite__summary>div>p:last-child { margin-top: 4px; font-size: 12px; }
body #wrapper #main .avsite__summary>div strong { color: inherit; }
body #wrapper #main .avsite__ai { grid-column: 2; grid-row: 2; min-width: 0; margin: 0; padding: 28px 32px; border: 0; border-radius: 0 12px 12px 0; background: var(--vvp-ui-action-bg,#eef0f2); }
body #wrapper #main .avsite:not(:has(>.avsite__ai)) .avsite__summary { grid-column: 1 / -1; max-width: 440px; border-radius: 12px; }
body #wrapper #main .avsite .avsummary h3 { margin: 0 0 14px; color: var(--vvp-type-heading-color); font-family: inherit; font-size: var(--vvp-type-subtitle-size); font-weight: var(--vvp-type-subtitle-weight) !important; line-height: var(--vvp-type-subtitle-line); letter-spacing: var(--vvp-type-subtitle-tracking); }
body #wrapper #main .avsite .avsummary__text { max-width: 64ch; margin: 0; color: var(--vvp-ds-action,#263b63); font-size: 16px; line-height: 1.7; }
body #wrapper #main .avsite .avsummary :is(.avsummary__details,.avsummary__method) p { color: var(--vvp-ds-action,#263b63); font-size: 15px; line-height: 1.65; }
body #wrapper #main .avsite .avsummary__meta { margin: 18px 0 8px; color: var(--vvp-ds-muted,#687586); font-size: 13px; line-height: 1.6; opacity: 1; }
body #wrapper #main .avsite .avsummary__actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 24px; }
body #wrapper #main .avsite .avsummary__actions details { min-width: 0; margin: 0; }
body #wrapper #main .avsite .avsummary__actions details[open] { flex: 1 0 100%; }
body #wrapper #main .avsite .avsummary :is(summary), body #wrapper #main .avsite .avsummary :is(.avsummary__trigger) { box-sizing: border-box; width: fit-content; max-width: 100%; min-height: 44px; margin: 0; padding: 10px 0; border: 0; border-radius: 0; background: transparent; color: var(--vvp-ds-action,#263b63); font: inherit; font-size: 14px; line-height: 1.7; text-align: left; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
body #wrapper #main .avsite .avsummary__trigger:hover { color: var(--vvp-ds-accentText,#bd3e68); }
body #wrapper #main .avsite__reviews { grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 32px 0 0; padding: 0; gap: 0; border: 0; }
body #wrapper #main .avsite__review { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
body #wrapper #main .avsite__review + .avsite__review { margin-left: 24px; padding-left: 24px; border-left: 1px solid var(--avsite-line); }
body #wrapper #main .avsite__review header { align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 6px 12px; margin-bottom: 12px; color: var(--vvp-ds-action,#263b63); }
body #wrapper #main .avsite__stars { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 2px; color: #e93270; }
body #wrapper #main .avsite__stars svg { display: block; width: 20px; height: 20px; }
body #wrapper #main .avsite__review header strong { font-size: 17px; line-height: 1.5; }
body #wrapper #main .avsite__review time { color: var(--vvp-ds-muted,#687586); font-size: 13px; line-height: 1.5; }
body #wrapper #main .avsite__review-date { display: inline-flex; align-items: center; gap: 12px; }
body #wrapper #main .avsite__review-date::before { content: '·'; color: var(--vvp-ds-muted,#687586); }
body #wrapper #main .avsite__review p { color: var(--vvp-ds-action,#263b63); font-size: 15px; line-height: 1.65; }
body #wrapper #main .avsite__note { grid-column: 1 / -1; margin: 24px 0 0; padding: 0; border: 0; color: var(--vvp-ds-muted,#687586); font-size: 12px; line-height: 1.6; }
body #wrapper #main .avsite .avsummary__dialog { position: fixed; box-sizing: border-box; width: min(640px,calc(100vw - 32px)); max-width: none; max-height: min(80vh,760px); max-height: min(80dvh,760px); margin: auto; padding: 0; border: 0; border-radius: 14px; background: #fff; color: var(--vvp-ds-action,#263b63); box-shadow: 0 24px 80px rgba(14,25,44,.22); }
body #wrapper #main .avsite .avsummary__dialog[open] { display: flex; flex-direction: column; }
body #wrapper #main .avsite .avsummary__dialog::backdrop { background: rgba(14,25,44,.55); }
body #wrapper #main .avsite .avsummary__dialog-header { display: flex; align-items: center; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--avsite-line); }
body #wrapper #main .avsite .avsummary__dialog-header h3 { flex: 1; margin: 0; font-size: var(--vvp-type-card-size); line-height: var(--vvp-type-card-line); font-weight: var(--vvp-type-card-weight); letter-spacing: var(--vvp-type-card-tracking); }
body #wrapper #main .avsite .avsummary__close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; background: var(--vvp-ui-action-bg,#eef0f2); color: var(--vvp-ds-action,#263b63); font-size: 28px; line-height: 1; cursor: pointer; }
body #wrapper #main .avsite .avsummary__dialog-body { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 24px; }
body #wrapper #main .avsite .avsummary__dialog-body p { margin: 0; color: var(--vvp-ds-ink,#17202e); font-size: 15px; line-height: 1.75; }
html:has(.avsite .avsummary__dialog[open]) { overflow: hidden; }
@media (max-width: 991.98px) {
  body #wrapper #main .avsite { grid-template-columns: minmax(0,1fr); }
  body #wrapper #main .avsite__summary { grid-column: 1; grid-row: auto; border-radius: 12px 12px 0 0; }
  body #wrapper #main .avsite__ai { grid-column: 1; grid-row: auto; border-radius: 0 0 12px 12px; }
  body #wrapper #main .avsite__summary>div { max-width: none; }
}
@media (max-width: 767.98px) {
  body #wrapper #main .avsite__heading { align-items: flex-start; gap: 8px; margin-bottom: 20px; }
  body #wrapper #main .avsite__summary, body #wrapper #main .avsite__ai { padding: 24px; }
  body #wrapper #main .avsite__score strong { font-size: 64px; }
  body #wrapper #main .avsite .avsummary__text { font-size: 15px; }
  body #wrapper #main .avsite .avsummary__actions { gap: 0 20px; }
  body #wrapper #main .avsite__reviews { grid-template-columns: minmax(0,1fr); margin-top: 28px; gap: 20px; }
  body #wrapper #main .avsite__review + .avsite__review { margin-left: 0; padding: 20px 0 0; border-left: 0; border-top: 1px solid var(--avsite-line); }
  body #wrapper #main .avsite .avsummary__dialog-header { padding: 16px; }
  body #wrapper #main .avsite .avsummary__dialog-body { padding: 20px; }
}

/* Vapovor theme type scale (--vvp-type-* tokens, defined by the theme). */
/* Reviews titles (product page, homepage): section titles. */
h2.avreviews-heading, .avsite__heading h2 { font-family: var(--vvp-type-ui, Inter, system-ui, sans-serif) !important; font-size: var(--vvp-type-section-size, 24px) !important; font-weight: var(--vvp-type-section-weight, 600) !important; line-height: var(--vvp-type-section-line, 31px) !important; letter-spacing: var(--vvp-type-section-tracking, -.3px) !important; text-transform: none !important; color: var(--vvp-type-heading-color, #263b63) !important; }
/* Homepage reviews eyebrow: the pink uppercase label, without the leading dash. */
.avsite__eyebrow { padding-left: 0 !important; font-family: var(--vvp-type-ui, Inter, system-ui, sans-serif) !important; font-size: var(--vvp-type-eyebrow-size, 12px) !important; font-weight: var(--vvp-type-eyebrow-weight, 500) !important; line-height: var(--vvp-type-eyebrow-line, 18px) !important; letter-spacing: var(--vvp-type-eyebrow-tracking, .96px) !important; text-transform: uppercase !important; color: var(--vvp-type-eyebrow-color, #bd3e68) !important; }
.avsite__eyebrow::before { content: none !important; display: none !important; }

/* Lot 5 (20/10/2026): product page review subtitles on the theme subtitle role. */
body#product #wrapper #main .avreviews :is(.avreviews-ai h3, .avreviews-comments > h3) { font-size: var(--vvp-type-subtitle-size); line-height: var(--vvp-type-subtitle-line); font-weight: var(--vvp-type-subtitle-weight); letter-spacing: var(--vvp-type-subtitle-tracking); }

/* Lot 6 (20/10/2026): review colours on the theme palette (the module CSS hard-codes its own navy and greys). */
body #main .avreviews-bar-fill { background: var(--vvp-color-action); }
body #main .avreviews-bar-track { background: var(--vvp-color-subtle); }
body #main :is(.avreview-score, .avreview-meta time) { color: var(--vvp-color-text-secondary); }
body #main .avreview-meta > span > span { color: var(--vvp-color-action); }
body #main .avreviews-more { color: var(--vvp-color-action) !important; border-color: var(--vvp-color-action); }
body#product #wrapper #main .avreviews.avreviews--summary :is(.avreview > p, .avreviews-ai-text) { color: var(--vvp-color-ink); }
body#product #wrapper #main .avreviews.avreviews--summary .avreviews-ai-meta { color: var(--vvp-color-text-secondary); }
body#product #wrapper #main .avreviews.avreviews--summary .avreviews-ai-label { color: var(--vvp-color-action); background: var(--vvp-color-action-soft); }
body#product #wrapper #main .avreviews.avreviews--summary .avreviews-comments { border-top-color: var(--vvp-color-panel-line); }
body#product #wrapper #main .avreviews .avsummary summary { color: var(--vvp-color-action); }
