/* ── Product Reviews ─────────────────────────────────────────────── */

.kw-product-reviews {
}

/* Header */

.kw-product-reviews__header {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 28px;
}

.kw-product-reviews__header-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.kw-product-reviews__heading {
	display: flex;
	flex-direction: column;
}

.kw-product-reviews__title {
	margin: 0;
}

@media (max-width: 768px) {
	.kw-product-reviews__title { font-size: 28px; }
}

.kw-product-reviews__summary {
	display: inline-flex;
	align-items: center;
	margin-top: 6px;
	gap: 10px;
	flex-wrap: wrap;
}

.kw-product-reviews__summary-stars {
	display: inline-flex;
	gap: 2px;
	font-size: 18px;
	line-height: 1;
}


.kw-product-reviews__summary-avg {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--kw-ink);
}

.kw-product-reviews__summary-sep {
	color: var(--kw-ink-muted);
}

.kw-product-reviews__summary-count {
	font-size: 0.875rem;
	color: var(--kw-ink-muted);
}

/* Rating split */

.kw-product-reviews__split {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.kw-product-reviews__split-row {
	display: flex;
	align-items: center;
	gap: 8px;
}

.kw-product-reviews__split-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--kw-ink-muted);
	white-space: nowrap;
	width: 20px;
	text-align: right;
	flex-shrink: 0;
}

.kw-product-reviews__split-bar {
	flex: 1;
	height: 6px;
	border-radius: 3px;
	background: var(--kw-line);
	overflow: hidden;
}

/* The breakdown bars stand for star counts, so they carry the star gold. */
.kw-product-reviews__split-fill {
	height: 100%;
	border-radius: 3px;
	background: var(--kw-star, #ffbd00);
	transition: width .3s ease;
}

.kw-product-reviews__split-count {
	font-size: 12px;
	color: var(--kw-ink-muted);
	width: 18px;
	flex-shrink: 0;
}

/* Review list */

/* Heads the cards and counts them — written reviews only. The summary above
   counts every rating, so the two numbers differ whenever someone has left a
   rating with no text; the different word is what tells them apart. */
.kw-product-reviews__list-count {
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 500;
	color: var(--kw-ink-muted);
}

.kw-product-reviews__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.kw-product-reviews__list--grid {
	display: grid;
	gap: 20px;
}
.kw-product-reviews__list--cols-2 { grid-template-columns: repeat(2, 1fr); }
.kw-product-reviews__list--cols-3 { grid-template-columns: repeat(3, 1fr); }
.kw-product-reviews__list--cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) {
	.kw-product-reviews__list--cols-3,
	.kw-product-reviews__list--cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.kw-product-reviews__list--grid { grid-template-columns: 1fr; }
}

.kw-product-reviews__empty {
	font-size: 14px;
	color: var(--kw-ink-muted);
	margin: 0;
}

/* Load more */

.kw-product-reviews__footer {
	margin-top: 20px;
	display: flex;
	justify-content: center;
}

/* ── Buttons (scoped — consistent across header / footer / form) ─ */

.kw-product-reviews-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 40px;
	padding: 0 18px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 9999px;
	background: transparent;
	color: var(--kw-ink);
	cursor: pointer;
	box-shadow: none;
	margin: 0;
	font-family: inherit;
	transition: background .15s, border-color .15s, color .15s, opacity .15s;
}

.kw-product-reviews-btn:focus-visible {
	outline: 2px solid rgba(68, 96, 132, .55);
	outline-offset: 2px;
}

.kw-product-reviews-btn--outline {
	border-color: var(--kw-accent);
	color: var(--kw-accent);
	background: #ffffff;
}

.kw-product-reviews-btn--outline:hover,
.kw-product-reviews-btn--outline:focus {
	background: var(--kw-accent-soft);
}

.kw-product-reviews-btn--primary {
	background: var(--kw-accent);
	color: #ffffff;
	border-color: var(--kw-accent);
}

.kw-product-reviews-btn--primary:hover,
.kw-product-reviews-btn--primary:focus {
	background: var(--kw-accent);
	border-color: var(--kw-accent);
	color: #ffffff;
}

.kw-product-reviews-btn[disabled],
.kw-product-reviews-btn:disabled {
	opacity: .55;
	cursor: not-allowed;
}

/* ── Review form ─────────────────────────────────────────────────── */

.kw-product-reviews-form {
	padding: 0;
}

.kw-product-reviews-form,
.kw-product-reviews-form-el {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.kw-product-reviews-form__row {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.kw-product-reviews-form__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--kw-ink);
}

.kw-product-reviews-form__required {
	color: var(--kw-danger);
}

.kw-product-reviews-form__hint {
	font-weight: 400;
	color: var(--kw-ink-muted);
	font-size: 12px;
	margin-left: 4px;
}

.kw-product-reviews-form__textarea,
.kw-product-reviews-form__input {
	width: 100%;
	padding: 10px 12px;
	margin-bottom: 0;
	font-size: 14px;
	line-height: 1.55;
	border: 1px solid var(--kw-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--kw-ink);
	font-family: inherit;
	transition: border-color .15s, box-shadow .15s;
	box-sizing: border-box;
}

.kw-product-reviews-form__textarea {
	resize: vertical;
}

.kw-product-reviews-form__textarea:focus,
.kw-product-reviews-form__input:focus {
	outline: none;
	border-color: var(--kw-accent);
	box-shadow: 0 0 0 3px rgba(68, 96, 132, 0.18);
}

.kw-product-reviews-form__stars {
	display: flex;
	gap: 4px;
}

.kw-product-reviews-form__star {
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	color: var(--kw-line);
	transition: color .1s, transform .1s;
	user-select: none;
}

.kw-product-reviews-form__star:hover,
.kw-product-reviews-form__star--active {
	color: var(--kw-star, #ffbd00);
	transform: scale(1.15);
}

.kw-product-reviews-form__upload-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 40px;
	padding: 0 16px;
	font-size: 13px;
	font-weight: 500;
	color: var(--kw-ink);
	border: 1px dashed #d6dbe1;
	border-radius: 9999px;
	background: #ffffff;
	cursor: pointer;
	transition: border-color .15s, background .15s, color .15s;
	width: fit-content;
}

.kw-product-reviews-form__upload-label:hover {
	border-color: var(--kw-accent);
	background: var(--kw-accent-soft);
}

.kw-product-reviews-form__file { display: none; }

.kw-product-reviews-form__preview {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}

.kw-product-reviews-form__thumb {
	position: relative;
	width: 64px;
	height: 64px;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid var(--kw-line);
}

.kw-product-reviews-form__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kw-product-reviews-form__thumb-remove {
	position: absolute;
	top: 2px;
	right: 2px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .6);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	font-size: 11px;
	line-height: 1;
	padding: 0;
}

.kw-product-reviews-form__thumb-remove:hover {
	background: rgba(0, 0, 0, .85);
}

.kw-product-reviews-form__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: flex-end;
	margin-top: 4px;
}

.kw-product-reviews-form__status {
	flex: 1;
	font-size: 13px;
	margin: 0;
}

.kw-product-reviews-form__status--success { color: #117a3a; }
.kw-product-reviews-form__status--error   { color: var(--kw-danger); }

/* ── Popup overlay (self-contained, no external popup framework) ── */

.kw-pr-popup-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(0, 0, 0, .5);
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.kw-pr-popup-overlay.is-open { display: flex; }
.kw-pr-popup-overlay[hidden] { display: none !important; }
.kw-pr-popup-overlay.is-open[hidden] { display: flex !important; }

.kw-pr-popup-dialog {
	background: #ffffff;
	border-radius: 16px;
	width: 100%;
	max-width: 560px;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
}

.kw-pr-popup-dialog__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 24px 28px 18px;
	border-bottom: 1px solid var(--kw-line);
	position: sticky;
	top: 0;
	background: #ffffff;
	z-index: 1;
}

.kw-pr-popup-dialog__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--kw-ink);
	margin: 0;
}

.kw-pr-popup-dialog__close {
	width: 36px;
	height: 36px;
	min-height: 36px;
	border-radius: 9999px;
	border: none;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--kw-ink-muted);
	font-size: 16px;
	line-height: 1;
	padding: 0;
	flex-shrink: 0;
	transition: background .15s, color .15s;
	margin: 0;
}

.kw-pr-popup-dialog__close:hover {
	background: var(--kw-accent-soft);
	color: var(--kw-ink);
}

.kw-pr-popup-dialog__body { padding: 20px 28px 28px; }

/* ── Stars component (partial fill) ─────────────────────────────── */

.kw-product-reviews-stars {
	position: relative;
	display: inline-block;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 2px;
	white-space: nowrap;
}

.kw-product-reviews-stars__bg  { color: var(--kw-line); }

.kw-product-reviews-stars__fill {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	white-space: nowrap;
	color: var(--kw-star, #ffbd00);
}

/* ── Reviews Summary ─────────────────────────────────────────────── */

.kw-product-reviews-summary { display: inline-flex; }

.kw-product-reviews-summary {
	display: inline-flex;
	vertical-align: middle;
}

.kw-product-reviews-summary__inner {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}

.kw-product-reviews-summary__stars { display: flex; align-items: center; }

.kw-product-reviews-summary__text {
	font-size: 14px;
	font-weight: 500;
	color: var(--kw-ink);
	line-height: 1.2;
}

.kw-product-reviews-summary__count {
	color: var(--kw-ink-muted);
	font-weight: 400;
}

/* ── PhotoSwipe z-index override ─────────────────────────────────── */

.pswp { z-index: 99999 !important; }

/* ===========================================================
   Rating stars + Trustpilot card — Figma "Mnenja 3.0" (215:4395)

   Whole stars only, as a rounded five-point glyph. This used to be
   Trustpilot's own mark — a white star knocked out of a solid green square —
   but the ratings behind it are the site's own, and the green squares read as
   a Trustpilot score rather than ours. The wordmark still heads the summary
   card; the stars are a plain gold star.
   =========================================================== */

/* ---------- Stars ---------- */

.kw-tp-stars {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	flex-shrink: 0;
}

/* The glyph is filled and stroked with currentColor, so on/off is this one
   declaration. Unfilled stars keep the shape and drop to grey — with the
   numeric score printed alongside, the rating never depends on colour alone. */
.kw-tp-star {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--kw-line, #dce2e5);
	flex-shrink: 0;
}

.kw-tp-star--on {
	color: var(--kw-star, #ffbd00);
}

/* The star fills its box — there is no square around it to sit inside. */
.kw-tp-star svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* Sized for the glyph, not for a square. The Trustpilot mark was a 15.6px
   square with the star at 74% inside it; a bare star fills its whole box, so
   the same numbers drew a star a third larger than the one they replaced.
   These are back to roughly the old optical size. */
.kw-tp-stars--sm .kw-tp-star { width: 13px; height: 13px; }
.kw-tp-stars--md .kw-tp-star { width: 16px; height: 16px; }
.kw-tp-stars--md { gap: 2px; }
.kw-tp-stars--lg .kw-tp-star { width: 16px; height: 16px; }
.kw-tp-stars--lg { gap: 2px; }

/* On a review card the stars are a quiet label above the author, not the
   headline the summary makes of them — so they sit a step below `sm`. */
.kw-review-card .kw-tp-stars--sm .kw-tp-star { width: 11px; height: 11px; }
.kw-review-card .kw-tp-stars--sm { gap: 1.5px; }

/* ---------- Trustpilot summary card ---------- */
/*
 * Figma 215:4395 → "Frame 61". The wordmark sits on its own white pill and the
 * score sits beside it, divided by nothing but space — the card is the divider.
 */

.kw-product-reviews__tp {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* The wordmark sits on its own pill, as in the Figma — it shares the row with
   the score rather than sitting inside a card with it. It takes what space it
   can up to 150px, so the score keeps the rest. */
.kw-product-reviews__tp-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	max-width: 150px;
	padding: 10px 14px;
	border-radius: 16px;
	background: var(--kw-surface, #fff);
	box-shadow: var(--kw-shadow-card, 0 4px 10px rgba(0, 0, 0, .04));
}

.kw-product-reviews__tp-logo svg {
	display: block;
	width: 100%;
	height: auto;
}

.kw-product-reviews__tp-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.kw-product-reviews__tp-score {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px;
	margin-bottom: 4px;
}

.kw-product-reviews__tp-score  .kw-tp-stars {
	margin: 0 8px;
}

.kw-product-reviews__tp-value {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--kw-ink, #111827);
}

.kw-product-reviews__tp-basis {
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--kw-ink-muted, #6b7280);
	text-decoration: underline;
	text-underline-position: from-font;
}

/* Under ~360px the wordmark and the score stop fitting on one line. */
@media (max-width: 380px) {
	.kw-product-reviews__tp {
		align-items: flex-start;
		gap: 12px;
	}
}

/* ---------- Curated review cards ---------- */

.kw-review-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--kw-surface, #fff);
	border-radius: 16px;
	padding: 13px;
	box-shadow: var(--kw-shadow-card, 0 4px 10px rgba(0, 0, 0, .04));
}

/* The lead card puts the media beside the text — only when it has media. */
.kw-review-card--media-side {
	flex-direction: row;
	align-items: center;
	gap: 19.6px;
}

.kw-review-card--media-side .kw-review-card__media {
	flex: 0 0 auto;
	width: 169.7px;
}

.kw-review-card__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	flex: 1 1 auto;
}

.kw-review-card__author {
	margin: 0;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.25;
	color: var(--kw-ink, #111827);
}

.kw-review-card__text {
	margin: 0;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.25;
	color: var(--kw-ink-muted, #6b7280);
	overflow-wrap: anywhere;
}

.kw-review-card__date {
	margin: 0;
	font-weight: 400;
	font-size: 10px;
	line-height: 1.3;
	color: var(--kw-ink-faint, #9ca3af);
	font-variant-numeric: tabular-nums;
}

/* ---------- Media / play button ---------- */

.kw-review-card__media {
	position: relative;
	display: block;
	width: 100%;
	height: 131px;
	padding: 0;
	border: 1px solid rgba(107, 114, 128, .19);
	border-radius: 7.5px;
	overflow: hidden;
	background: var(--kw-surface-alt, #f1f4f6);
}

button.kw-review-card__media {
	cursor: pointer;
}

.kw-review-card__poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kw-review-card__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 4px 15.6px rgba(23, 71, 96, .31);
	transition: transform 150ms ease-out;
}

.kw-review-card__play svg {
	display: block;
	width: 24px;
	height: 24px;
}

button.kw-review-card__media:hover .kw-review-card__play {
	transform: translate(-50%, -50%) scale(1.06);
}

button.kw-review-card__media:focus-visible {
	outline: 3px solid var(--kw-accent, #34aeeb);
	outline-offset: 2px;
}

/* ---------- Video lightbox ---------- */

.kw-tp-video-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	/* 40–60% black so the foreground is genuinely isolated. */
	background: rgba(0, 0, 0, .6);
}

.kw-tp-video-overlay[hidden] {
	display: none;
}

.kw-tp-video-overlay video {
	max-width: 100%;
	max-height: 90vh;
	border-radius: 12px;
	background: #000;
}

.kw-tp-video-overlay__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	color: var(--kw-ink, #111827);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.kw-tp-video-overlay__close:focus-visible {
	outline: 3px solid var(--kw-accent, #34aeeb);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.kw-review-card__play { transition: none; }
	button.kw-review-card__media:hover .kw-review-card__play { transform: translate(-50%, -50%); }
}

/* ---------- Review list on small screens ----------
   The Figma runs two cards per row on a 430px frame. Whatever column count
   the shortcode asks for, collapse to two below 700px and one below 400px. */

@media (max-width: 700px) {
	.kw-product-reviews__list--grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 400px) {
	.kw-product-reviews__list--grid {
		grid-template-columns: 1fr;
	}
	.kw-review-card--media-side {
		flex-direction: column;
		align-items: stretch;
	}
	.kw-review-card--media-side .kw-review-card__media {
		width: 100%;
	}
}

/* ---------- Cards with a photo, on small screens ----------
   A photo squeezed into half a 430px frame is unreadable, so any card that
   has one takes the whole row and sets the photo beside the text instead.
   The two blocks above are what this has to beat — hence the position here
   rather than up with them. */

@media (max-width: 700px) {
	.kw-review-card--has-media {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		gap: 12px;
	}

	/* The featured card prints its media before the body and every other card
	   after it; ordering the photo last puts it on the right either way. */
	.kw-review-card--has-media .kw-review-card__media {
		order: 1;
		flex: 0 0 38%;
		width: auto;
		max-width: 170px;
	}
}

/* ---------- Packing the two-up phone layout ----------
   A full-width photo card leaves the column beside the previous card empty:
   the half-width card before it has nowhere to pair with, so the row ends
   half used. `dense` lets the grid backfill that hole with the next card
   that fits, instead of leaving it and moving on.

   Dense packing means a later review can appear before an earlier one where
   it fills a hole. That is a real cost, paid because the alternative is a
   visible gap on every phone; the cards carry their own dates, so the list
   never claimed to be a strict sequence. */

@media (max-width: 700px) {
	.kw-product-reviews__list--grid {
		grid-auto-flow: row dense;
	}
}

/* Extra photos beyond the first ride along as hidden PhotoSwipe markers. */
.kw-review-card__image-link[hidden] {
	display: none;
}

.kw-review-card__count {
	position: absolute;
	right: 8px;
	bottom: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(17, 24, 39, .6);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	font-variant-numeric: tabular-nums;
}

/* ===========================================================
   Rating row — Figma 163:1092

   Two groups of the same thing: five stars, then "<score> <label>".
   Only the star icon differs, so only the icon has variant rules.
   =========================================================== */

.kw-product-reviews-summary {
	display: inline-flex;
	vertical-align: middle;
}

.kw-product-reviews-summary__inner {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
}

.kw-product-reviews-summary__text {
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	color: var(--kw-ink-muted, #6b7280);
	text-decoration: underline;
	text-underline-position: from-font;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

a.kw-product-reviews-summary__inner:hover .kw-product-reviews-summary__text {
	color: var(--kw-ink, #111827);
}

a.kw-product-reviews-summary__inner:focus-visible {
	outline: 3px solid var(--kw-accent, #34aeeb);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ===========================================================
   Reviews section — Figma 215:4395
   =========================================================== */

.kw-product-reviews__header {
	gap: 16px;
	margin-bottom: 16px;
}

.kw-product-reviews__header-top {
	align-items: center;
	flex-wrap: nowrap;
}

.kw-product-reviews__title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--kw-ink, #111827);
}

@media (max-width: 768px) {
	.kw-product-reviews__title { font-size: 18px; }
}

/* "Prikaži več" — a link, not a button, per the design. */
.kw-product-reviews-more-link {
	flex-shrink: 0;
	padding: 0;
	border: 0;
	background: none;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	color: var(--kw-accent-dark, #2a8bbc);
	text-decoration: underline;
	text-underline-position: from-font;
	cursor: pointer;
	white-space: nowrap;
}

.kw-product-reviews-more-link:hover {
	color: var(--kw-ink, #111827);
}

.kw-product-reviews-more-link:focus-visible {
	outline: 3px solid var(--kw-accent, #34aeeb);
	outline-offset: 3px;
	border-radius: 4px;
}

/* The list is a two-column grid with the lead card spanning both. */
.kw-product-reviews__list {
	gap: 12px;
}

.kw-product-reviews__list--grid {
	gap: 12px;
}

/* ---------- Footer buttons ---------- */

.kw-product-reviews__footer {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 16px;
}

.kw-product-reviews__footer .kw-product-reviews-btn {
	width: 100%;
	height: 52px;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 700;
}

/* Score word sits between the number and the count. */
.kw-product-reviews-summary__word {
	margin-left: 4px;
}

.kw-product-reviews-summary__count {
	margin-left: 4px;
}

/* ---------- Card summary (archive loop, above the title) ---------- */

/* Block-level and left-aligned, whatever alignment the box-text carries. */
.kw-product-reviews-summary--card {
	display: flex;
	justify-content: flex-start;
	text-align: left;
	margin: 0 0 3px;
}

.kw-product-reviews-summary--card .kw-product-reviews-summary__inner {
	/* Flatsome centers `.text-center > div > div` with auto margins — this
	   inner div is exactly that inside the card's box-text. */
	margin-left: 0;
	margin-right: 0;
	gap: 5px;
	/* Two-up mobile grid leaves the card ~160px — if stars + "(11 reviews)"
	   still cannot fit, the text drops to a second line instead of bleeding
	   out of the card. */
	flex-wrap: wrap;
	row-gap: 1px;
}

/* A div here, not a link — the underline belongs to the single-page anchor. */
.kw-product-reviews-summary--card .kw-product-reviews-summary__text {
	text-decoration: none;
	font-size: 12px;
	color: var(--kw-ink, #111827);
}

/* Sized down from the 13px `sm` stars so the whole row fits the card. */
.kw-product-reviews-summary--card .kw-tp-stars {
	gap: 1px;
}

.kw-product-reviews-summary--card .kw-tp-star {
	width: 11px;
	height: 11px;
}
