/* ProteinShop Recenzije: forma (Recenzija-forma), sekcija na proizvodu (Proizvod), blok na početnoj (Main). */
.psb-rev.psb-rev { padding: 56px 0 96px; }
.psb-rev .psb-rev__wrap { max-width: 860px; margin: 0 auto; padding: 0 var(--psb-gutter); box-sizing: border-box; display: flex; flex-direction: column; gap: 24px; }
.psb-rev .psb-rev__eyebrow { font-family: var(--psb-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--psb-accent); }
.psb-rev .psb-rev__title { margin: 0; font-family: var(--psb-display); font-weight: 900; font-stretch: 118%; font-size: clamp(38px, 6vw, 56px); line-height: .95; text-transform: uppercase; }
.psb-rev .psb-rev__lead { margin: 0; font-size: 17px; line-height: 1.55; color: var(--psb-muted); max-width: 620px; }
.psb-rev .psb-rev__form { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.psb-rev .psb-rev__item { margin: 0; min-width: 0; background: var(--psb-surface); border: 1px solid var(--psb-line); border-radius: 24px; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.psb-rev .psb-rev__row { display: flex; gap: 16px; align-items: center; }
.psb-rev .psb-rev__img { flex: 0 0 88px; height: 88px; border-radius: 16px; background: var(--psb-tile); display: flex; align-items: center; justify-content: center; overflow: hidden; }
body.psb-site .psb-rev .psb-rev__img img { max-width: 80%; max-height: 80%; width: auto; height: auto; object-fit: contain; mix-blend-mode: multiply; }
.psb-rev .psb-rev__info { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.psb-rev .psb-rev__info strong { font-size: 17px; line-height: 1.3; }
.psb-rev .psb-rev__stars { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.psb-rev .psb-rev__stars label { margin: 0; position: relative; }
.psb-rev .psb-rev__stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.psb-rev .psb-rev__stars span[aria-hidden] { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; font-size: 32px; line-height: 1; color: var(--psb-line-strong); cursor: pointer; transition: color .1s, transform .1s; }
.psb-rev .psb-rev__stars.has-1 label:nth-of-type(-n+1) span[aria-hidden], .psb-rev .psb-rev__stars.has-2 label:nth-of-type(-n+2) span[aria-hidden],
.psb-rev .psb-rev__stars.has-3 label:nth-of-type(-n+3) span[aria-hidden], .psb-rev .psb-rev__stars.has-4 label:nth-of-type(-n+4) span[aria-hidden],
.psb-rev .psb-rev__stars.has-5 label:nth-of-type(-n+5) span[aria-hidden] { color: var(--psb-accent); }
.psb-rev .psb-rev__stars input:focus-visible + span { outline: 2px solid var(--psb-accent); outline-offset: 2px; border-radius: 8px; }
.psb-rev .psb-rev__stars label:hover span[aria-hidden] { transform: scale(1.08); }
.psb-rev .psb-rev__word { margin-left: 8px; font-size: 14px; color: var(--psb-muted); }
.psb-rev .psb-rev__field { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; margin: 0; }
.psb-rev .psb-rev__field textarea, .psb-rev .psb-rev__field input { box-sizing: border-box; background: var(--psb-bg); border: 1px solid var(--psb-line-strong); border-radius: 16px; padding: 14px 16px; color: var(--psb-text); font: 400 15px var(--psb-font); width: 100%; }
.psb-rev .psb-rev__name { max-width: 420px; }
.psb-rev .psb-rev__name input { height: 54px; border-radius: var(--psb-pill); padding: 0 20px; background: var(--psb-surface); }
.psb-rev .psb-rev__note { font-size: 13px; color: var(--psb-muted-2); margin-top: -8px; }
.psb-rev .psb-rev__err { margin: 0; font-size: 14px; color: #FF8A80; }
.psb-rev .psb-rev__btn { align-self: flex-start; height: 56px; padding: 0 32px; border: 0; border-radius: var(--psb-pill); background: var(--psb-accent); color: var(--psb-on-accent); font: 700 16px var(--psb-font); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; }
.psb-rev .psb-rev__ghost { height: 56px; padding: 0 26px; border-radius: var(--psb-pill); border: 1px solid var(--psb-line-strong); color: var(--psb-text); font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; }
.psb-rev .psb-rev__done { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; padding: 40px 0; }
.psb-rev .psb-rev__ok { width: 72px; height: 72px; border-radius: 50%; background: var(--psb-accent); color: var(--psb-on-accent); display: flex; align-items: center; justify-content: center; }
.psb-rev .psb-rev__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.psb-rev .psb-rev__lead a { color: var(--psb-accent); }

/* Proizvod */
.psb-revs.psb-revs { margin-top: 88px; }
.psb-revs .psb-revs__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 24px; margin-bottom: 24px; }
.psb-revs .psb-revs__title { margin: 0; font-family: var(--psb-display); font-weight: 900; font-stretch: 118%; font-size: clamp(32px, 4vw, 44px); line-height: 1; text-transform: uppercase; }
.psb-revs .psb-revs__head > span { font-size: 15px; color: var(--psb-muted); }
.psb-revs .psb-revs__head strong { color: var(--psb-accent); }
.psb-revs .psb-revs__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 12px; }
.psb-revs .psb-revs__card { margin: 0; background: var(--psb-surface); border: 1px solid var(--psb-line); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.psb-revs .psb-revs__stars { color: var(--psb-accent); letter-spacing: 2px; }
.psb-revs .psb-revs__card blockquote { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.4; flex: 1; }
.psb-revs .psb-revs__card figcaption { font-size: 13px; color: var(--psb-muted-2); }

/* Početna */
.psb-revhome.psb-revhome { margin-top: 96px; display: flex; flex-wrap: wrap; gap: 40px 64px; }
.psb-revhome .psb-revhome__score { flex: 1 1 300px; display: flex; flex-direction: column; gap: 12px; }
.psb-revhome .psb-revhome__eyebrow { font-family: var(--psb-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--psb-accent); }
.psb-revhome .psb-revhome__avg { margin: 0; font-family: var(--psb-display); font-weight: 900; font-stretch: 118%; font-size: clamp(72px, 10vw, 140px); line-height: .85; color: var(--psb-accent); }
.psb-revhome .psb-revhome__sub { font-size: 16px; color: var(--psb-muted); }
.psb-revhome .psb-revhome__list { flex: 2 1 560px; min-width: 0; display: flex; flex-direction: column; border-top: 1px solid var(--psb-line); }
.psb-revhome .psb-revhome__item { margin: 0; padding: 26px 0; border-bottom: 1px solid var(--psb-line); display: flex; flex-wrap: wrap; gap: 14px 32px; align-items: flex-start; }
.psb-revhome .psb-revhome__item blockquote { margin: 0; flex: 1 1 320px; font-family: var(--psb-display); font-weight: 800; font-stretch: 105%; font-size: clamp(19px, 2vw, 26px); line-height: 1.2; }
.psb-revhome .psb-revhome__item figcaption { flex: 0 1 240px; display: flex; flex-direction: column; gap: 4px; }
.psb-revhome .psb-revhome__item figcaption strong { font-size: 15px; }
.psb-revhome .psb-revhome__item figcaption strong span { font-weight: 400; color: var(--psb-muted-2); }
.psb-revhome .psb-revhome__item figcaption > span { font-size: 13px; color: #A8A8A8; line-height: 1.5; }
@media (max-width: 760px) {
	.psb-rev.psb-rev { padding-top: 32px; }
	.psb-rev .psb-rev__item { padding: 16px; border-radius: 20px; }
	.psb-rev .psb-rev__row { align-items: flex-start; }
	.psb-rev .psb-rev__img { flex-basis: 64px; height: 64px; }
	.psb-rev .psb-rev__stars span[aria-hidden] { width: 40px; height: 40px; font-size: 30px; }
	.psb-rev .psb-rev__word { width: 100%; margin-left: 0; }
	.psb-revs.psb-revs, .psb-revhome.psb-revhome { margin-top: 64px; }
	.psb-revhome .psb-revhome__item figcaption { flex-basis: 100%; }
}
.psb-rev .psb-rev__stars input:checked + span { color: var(--psb-accent); }

/* Dugmad „Sve recenzije“ */
.psb-revs .psb-revs__all { margin-left: auto; font-size: 14px; font-weight: 700; color: var(--psb-accent); text-decoration: none; }
.psb-revhome .psb-revhome__all { align-self: flex-start; margin-top: 8px; display: inline-flex; align-items: center; height: 50px; padding: 0 24px; border: 1px solid var(--psb-line-strong); border-radius: var(--psb-pill); color: var(--psb-text); font-weight: 700; font-size: 15px; text-decoration: none; }
.psb-revhome .psb-revhome__all:hover { border-color: var(--psb-accent); color: var(--psb-accent); }

/* Stranica /recenzije/ */
.psb-revlist.psb-revlist { padding: 40px 0 96px; }
.psb-revlist .psb-revlist__top { display: flex; flex-wrap: wrap; gap: 32px 64px; align-items: flex-end; justify-content: space-between; }
.psb-revlist .psb-revlist__score { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.psb-revlist .psb-revlist__title { margin: 0; font-family: var(--psb-display); font-weight: 900; font-stretch: 118%; font-size: clamp(40px, 7vw, 96px); line-height: .88; text-transform: uppercase; overflow-wrap: anywhere; }
.psb-revlist .psb-revlist__avg { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; font-size: 15px; color: var(--psb-muted); }
.psb-revlist .psb-revlist__avg strong { font-family: var(--psb-display); font-weight: 900; font-size: 48px; line-height: 1; color: var(--psb-accent); }
.psb-revlist .psb-revs__stars { color: var(--psb-accent); letter-spacing: 2px; font-size: 18px; }
.psb-revlist .psb-revlist__back { font-weight: 600; text-decoration: none; }
.psb-revlist .psb-revlist__dist { list-style: none; margin: 0; padding: 0; flex: 0 1 380px; display: flex; flex-direction: column; gap: 6px; }
.psb-revlist .psb-revlist__dist li { margin: 0; }
.psb-revlist .psb-revlist__dist a { display: grid; grid-template-columns: 44px 1fr 40px; gap: 12px; align-items: center; padding: 6px 10px; border-radius: 10px; color: var(--psb-text); text-decoration: none; font-size: 14px; }
.psb-revlist .psb-revlist__dist a:hover, .psb-revlist .psb-revlist__dist a[aria-current] { background: var(--psb-surface); color: var(--psb-text); }
.psb-revlist .psb-revlist__dist b { font-family: var(--psb-mono); font-weight: 500; color: var(--psb-muted); text-align: right; }
.psb-revlist .psb-revlist__bar { display: block; height: 8px; border-radius: 4px; background: var(--psb-line); overflow: hidden; }
.psb-revlist .psb-revlist__bar span { display: block; height: 100%; background: var(--psb-accent); border-radius: 4px; }
.psb-revlist .psb-revlist__filter { margin: 24px 0 0; font-size: 14px; color: var(--psb-muted); }
.psb-revlist .psb-revlist__filter a { color: var(--psb-accent); }
.psb-revlist .psb-revlist__list { margin-top: 32px; }
.psb-revlist .psb-revlist__bought { display: block; margin-top: 4px; }
.psb-revlist .psb-revlist__bought a { color: var(--psb-muted); }
.psb-revlist .psb-revlist__more { margin: 24px 0 0; text-align: center; }
.psb-revlist .psb-revlist__empty { padding: 32px 0; color: var(--psb-muted); }
.psb-revlist .psb-revs__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 12px; }
.psb-revlist .psb-revs__card { margin: 0; background: var(--psb-surface); border: 1px solid var(--psb-line); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.psb-revlist .psb-revs__card blockquote { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.4; flex: 1; }
.psb-revlist .psb-revs__card figcaption { font-size: 13px; color: var(--psb-muted-2); }
@media (max-width: 760px) { .psb-revlist.psb-revlist { padding-top: 20px; } .psb-revlist .psb-revlist__dist { flex-basis: 100%; } .psb-revs .psb-revs__all { margin-left: 0; width: 100%; } }
.psb-revlist .psb-revhome__eyebrow { font-family: var(--psb-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--psb-accent); }
