/** Firm review — AI summary panel. */

/* In the article, after "Why this grade" (propfirmgrade-data#545), the panel
   is a block among paragraphs and needs the room a paragraph does not:
   its wrapper is the review-context div the theme splices in. */
.pfg-rv-article .pfg-rv:has(> .pfg-rv-ai) {
	margin-block: clamp(22px, 3vw, 34px);
}

.pfg-rv-ai {
	display: flex;
	flex-direction: column;
	gap: 13px;
	padding: 16px 18px 15px;
	border-radius: 16px;
	background: var(--rv-surface-3, #171B26);
	border: 1px solid var(--rv-b2, rgba(255, 255, 255, 0.08));
	min-width: 0;
}

.pfg-rv-ai__head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	min-width: 0;
}

.pfg-rv-ai__headtext {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	flex: 1 1 0;
	min-width: 0;
}

.pfg-rv-ai__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, "Outfit", sans-serif);
	font-weight: 400;
	font-size: clamp(18px, 1.1vw, 23px);
	line-height: 1.25;
	color: var(--rv-text-1, #F2F3F8);
	text-wrap: pretty;
	overflow-wrap: anywhere;
}

.pfg-rv-ai__ring {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 62px;
	width: 62px;
	height: 62px;
}

.pfg-rv-ai__ring svg {
	grid-area: 1 / 1;
}

.pfg-rv-ai__ringlabel {
	grid-area: 1 / 1;
	font-size: clamp(10.5px, 0.6vw, 12px);
	font-weight: 800;
	color: var(--rv-text-1, #F2F3F8);
	font-variant-numeric: tabular-nums;
}

/* Evidence-coverage fallback: the "N of 6" fraction runs wider than the
   sentiment word the design sized the label for, so it drops a step and
   must never wrap inside the 62px ring. */
.pfg-rv-ai__ringlabel--count {
	font-size: 10px;
	white-space: nowrap;
}

.pfg-rv-ai__lead {
	margin: 0;
	font-size: clamp(13px, 0.76vw, 15px);
	line-height: 1.62;
	color: var(--rv-text-body, #A6ACC0);
	text-wrap: pretty;
}

/* ---- native disclosure: no JavaScript, keyboard operable by the platform ---- */

.pfg-rv-ai__more {
	margin: 0;
}

.pfg-rv-ai__more > p {
	margin: 11px 0 0;
	font-size: clamp(13px, 0.76vw, 15px);
	line-height: 1.62;
	color: var(--rv-text-body, #A6ACC0);
}

.pfg-rv-ai__toggle {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	color: var(--acc-bright, var(--wp--preset--color--accent, #C1BDFF));
	font-size: clamp(12.5px, 0.72vw, 14px);
	font-weight: 800;
	cursor: pointer;
	list-style: none;
	border-radius: 8px;
	width: fit-content;
}

.pfg-rv-ai__toggle::-webkit-details-marker {
	display: none;
}

.pfg-rv-ai__toggle svg {
	transition: transform 150ms ease;
}

.pfg-rv-ai__more[open] .pfg-rv-ai__toggle svg {
	transform: rotate(180deg);
}

/* ------------------------------------------------------------- vote row */

.pfg-rv-ai__foot {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	border-top: 1px solid var(--rv-b1, rgba(255, 255, 255, 0.06));
	padding-top: 11px;
}

.pfg-rv-ai__vote {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.pfg-rv-ai__ask {
	font-size: clamp(11.5px, 0.66vw, 13px);
	color: var(--rv-text-3, #979CAD);
}

.pfg-rv-ai__thumb {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	border: 1px solid var(--rv-b2, rgba(255, 255, 255, 0.08));
	background: var(--rv-hover-wash, rgba(255, 255, 255, 0.04));
	color: var(--rv-text-3, #979CAD);
	cursor: pointer;
	transition: color 150ms ease, border-color 150ms ease;
}

.pfg-rv-ai__thumb--up:hover {
	color: var(--rv-pos, #40D69A);
	border-color: rgba(64, 214, 154, 0.45);
}

.pfg-rv-ai__thumb--down:hover {
	color: var(--rv-neg, #EB4749);
	border-color: rgba(235, 71, 73, 0.45);
}

.pfg-rv-ai__thanks {
	margin: 0 0 0 auto;
	font-size: clamp(11.5px, 0.66vw, 13px);
	color: var(--rv-pos, #40D69A);
	font-weight: 700;
}

.pfg-rv-ai__prov {
	flex-basis: 100%;
}

@media (max-width: 560px) {
	.pfg-rv-ai__vote,
	.pfg-rv-ai__thanks {
		margin-left: 0;
	}
}
