/* Review box (single post) — design allineato al nuovo tema iSpazio. */
.isp-review-box{
	position:relative;
	background:var(--isp-surface);
	border:1px solid var(--isp-border-soft);
	border-radius:var(--isp-radius);
	padding:28px 28px 26px;
	margin:32px 0;
	font-size:var(--isp-article-size, 15px);
	line-height:var(--isp-article-lh, 1.55);
	color:var(--isp-ink);
	overflow:hidden;
}
.isp-review-box::before{
	content:"";
	position:absolute;
	inset:0 0 auto 0;
	height:3px;
	background:linear-gradient(90deg,var(--isp-brand) 0%,var(--isp-brand-dark) 100%);
}
.isp-review-box__heading{
	font-size:13px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.8px;
	margin:0 0 18px;
	color:var(--isp-mute);
}

/* ── Verdict header (score + best buy + descrizione) ──────────────── */
.isp-review-box__verdict{
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:center;
	gap:22px;
	padding-bottom:22px;
	border-bottom:1px solid var(--isp-border-soft);
	margin-bottom:22px;
}
.isp-review-box__score{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:104px;
	height:104px;
	border-radius:50%;
	background:radial-gradient(circle at 30% 30%, var(--isp-brand) 0%, var(--isp-brand-dark) 100%);
	color:#fff;
	flex-shrink:0;
	box-shadow:0 8px 24px -10px var(--isp-brand);
}
.isp-review-box__score::after{
	content:"";
	position:absolute;
	inset:6px;
	border:1px solid rgba(255,255,255,.2);
	border-radius:50%;
	pointer-events:none;
}
.isp-review-box__score-value{
	font-size:34px;
	font-weight:800;
	line-height:1;
	letter-spacing:-.02em;
}
.isp-review-box__score-max{
	font-size:12px;
	font-weight:600;
	opacity:.85;
	margin-top:4px;
	letter-spacing:.4px;
}
.isp-review-box__verdict-body{
	min-width:0;
}
.isp-review-box__verdict-label{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:5px 12px;
	background:var(--isp-brand-soft, rgba(30,99,212,.1));
	color:var(--isp-brand);
	font-size:12px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.6px;
	border-radius:8px;
	margin-bottom:10px;
}
.isp-review-box__verdict-label::before{
	content:"";
	width:6px;
	height:6px;
	border-radius:50%;
	background:var(--isp-brand);
}
.isp-review-box__verdict-text{
	font-size:16px;
	color:var(--isp-ink2);
	margin:0;
	line-height:1.7;
}
.isp-review-box__verdict-text p{margin:0 0 8px}
.isp-review-box__verdict-text p:last-child{margin-bottom:0}

/* ── Pro/Contro ─────────────────────────────────────────────────── */
.isp-review-box__pros-cons{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px;
	padding-bottom:22px;
	border-bottom:1px solid var(--isp-border-soft);
	margin-bottom:22px;
}
.isp-review-box__pc-title{
	font-size:12px;
	font-weight:700;
	letter-spacing:.8px;
	text-transform:uppercase;
	margin:0 0 14px;
	color:var(--isp-mute);
	display:flex;
	align-items:center;
	gap:8px;
}
.isp-review-box__pc-title::before{
	content:"";
	width:18px;
	height:2px;
	background:currentColor;
	opacity:.4;
	border-radius:1px;
}
.isp-review-box__pros ul,
.isp-review-box__cons ul{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.isp-review-box__pros li,
.isp-review-box__cons li{
	display:flex;
	align-items:flex-start;
	gap:10px;
	font-size:14px;
	color:var(--isp-ink);
	line-height:1.45;
}
.isp-review-box__pros svg,
.isp-review-box__cons svg{
	width:18px;
	height:18px;
	padding:3px;
	border-radius:50%;
	flex-shrink:0;
	margin-top:1px;
}
.isp-review-box__pros svg{
	color:#16a34a;
	background:rgba(22,163,74,.1);
}
.isp-review-box__cons svg{
	color:#dc2626;
	background:rgba(220,38,38,.1);
}

/* ── Criteri (barre) ────────────────────────────────────────────── */
.isp-review-box__criteria{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:14px;
}
.isp-review-box__criterion{margin:0;list-style:none}
.isp-review-box__criterion::marker{content:""}
.isp-review-box__criterion-row{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	margin-bottom:8px;
	gap:12px;
}
.isp-review-box__criterion-label{
	font-size:14px;
	font-weight:600;
	color:var(--isp-ink);
}
.isp-review-box__criterion-rating{
	font-size:14px;
	font-weight:800;
	color:var(--isp-brand);
	font-variant-numeric:tabular-nums;
	letter-spacing:-.01em;
}
.isp-review-box__bar{
	position:relative;
	height:8px;
	background:var(--isp-border-soft);
	border-radius:999px;
	overflow:hidden;
}
.isp-review-box__bar-fill{
	height:100%;
	background:linear-gradient(90deg,var(--isp-brand) 0%,var(--isp-brand-dark) 100%);
	border-radius:999px;
	transform-origin:left center;
	/* Reveal time-based al caricamento: scaleX 0→1 con leggero overshoot.
	   width inline conservato (è la dimensione finale). */
	animation:isp-bar-grow 1.4s cubic-bezier(.34,1.2,.64,1) .15s both;
}
@keyframes isp-bar-grow{
	from{transform:scaleX(0)}
	to{transform:scaleX(1)}
}
/* Stagger: ogni criterio successivo parte un po' più tardi */
.isp-review-box__criterion:nth-child(1) .isp-review-box__bar-fill{animation-delay:.15s}
.isp-review-box__criterion:nth-child(2) .isp-review-box__bar-fill{animation-delay:.25s}
.isp-review-box__criterion:nth-child(3) .isp-review-box__bar-fill{animation-delay:.35s}
.isp-review-box__criterion:nth-child(4) .isp-review-box__bar-fill{animation-delay:.45s}
.isp-review-box__criterion:nth-child(5) .isp-review-box__bar-fill{animation-delay:.55s}
.isp-review-box__criterion:nth-child(6) .isp-review-box__bar-fill{animation-delay:.65s}

/* ── Score: pop + glow al caricamento ─────────────────────────────── */
.isp-review-box__score{
	transform-origin:center;
	animation:isp-score-pop 1s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes isp-score-pop{
	0%{transform:scale(.6);opacity:0}
	55%{transform:scale(1.08);opacity:1}
	100%{transform:scale(1);opacity:1}
}
.isp-review-box__score::before{
	content:"";
	position:absolute;
	inset:-10px;
	border-radius:50%;
	background:radial-gradient(circle, rgba(30,99,212,.32) 0%, transparent 65%);
	pointer-events:none;
	z-index:-1;
	animation:isp-score-glow 1.4s ease .2s both;
}
@keyframes isp-score-glow{
	from{opacity:0;transform:scale(.5)}
	to{opacity:1;transform:scale(1)}
}

@media(prefers-reduced-motion:reduce){
	.isp-review-box__score,
	.isp-review-box__score::before,
	.isp-review-box__bar-fill{animation:none}
}

/* ── Stars (per type=stars) ─────────────────────────────────────── */
.isp-review-box__stars{
	position:relative;
	width:100px;
	height:18px;
	background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23d1d5db'><polygon points='10,1 12.6,7.5 19.5,7.5 14,12 16,18.5 10,14.5 4,18.5 6,12 0.5,7.5 7.4,7.5'/></svg>") repeat-x left center;
	background-size:20px 18px;
	overflow:hidden;
	margin-top:4px;
}
.isp-review-box__stars-fill{
	display:block;
	height:100%;
	background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%231e63d4'><polygon points='10,1 12.6,7.5 19.5,7.5 14,12 16,18.5 10,14.5 4,18.5 6,12 0.5,7.5 7.4,7.5'/></svg>") repeat-x left center;
	background-size:20px 18px;
}
.isp-review-box--stars .isp-review-box__score{
	background:none;
	color:var(--isp-ink);
	width:auto;
	height:auto;
	min-width:0;
	flex-direction:row;
	gap:10px;
	align-items:center;
	box-shadow:none;
}
.isp-review-box--stars .isp-review-box__score::after{display:none}
.isp-review-box--stars .isp-review-box__score-value{font-size:26px;color:var(--isp-brand);font-weight:800}
.isp-review-box--stars .isp-review-box__stars{width:140px;height:24px;background-size:28px 24px}
.isp-review-box--stars .isp-review-box__stars-fill{background-size:28px 24px}

/* ── Mobile ─────────────────────────────────────────────────────── */
@media(max-width:640px){
	.isp-review-box{padding:22px 18px 20px;margin:24px 0;border-radius:var(--isp-radius-sm,12px)}
	.isp-review-box__verdict{
		grid-template-columns:1fr;
		justify-items:center;
		text-align:center;
		gap:16px;
	}
	.isp-review-box__verdict-body{text-align:center}
	.isp-review-box__pros-cons{grid-template-columns:1fr;gap:18px}
	.isp-review-box__score{width:92px;height:92px}
	.isp-review-box__score-value{font-size:30px}
}
