/**
 * Editorial single review styles for Anime Review Child.
 */

.ar-single--editorial {
	--ar-single-content-width: 820px;
}

.ar-layout--single-review {
	align-items: start;
}

.ar-single-header {
	position: relative;
	display: grid;
	grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
	gap: clamp(22px, 4vw, 40px);
	align-items: stretch;
	margin: 0 0 clamp(26px, 4vw, 42px);
	padding: clamp(18px, 3vw, 34px);
	background:
		linear-gradient(135deg, rgba(17, 24, 39, 0.04), transparent 42%),
		radial-gradient(circle at top right, rgba(124, 58, 237, 0.12), transparent 34%),
		var(--ar-surface);
	border: 1px solid var(--ar-border);
	border-radius: calc(var(--ar-radius) + 10px);
	box-shadow: var(--ar-shadow);
	overflow: hidden;
}

.ar-single-header::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: linear-gradient(90deg, var(--ar-accent), #ef4444, #f59e0b);
}

.ar-single-header__media {
	align-self: start;
}

.ar-single-header__media .ar-post-thumbnail,
.ar-single-header__placeholder {
	aspect-ratio: 2 / 3;
	overflow: hidden;
	border-radius: calc(var(--ar-radius) + 2px);
	box-shadow: 0 18px 42px rgba(17, 24, 39, 0.16);
}

.ar-single-header__placeholder {
	display: grid;
	place-items: center;
	min-height: 380px;
	background: linear-gradient(135deg, #ede9fe, #f8fafc);
	color: var(--ar-accent-dark);
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ar-single-header__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 15px;
	min-width: 0;
}

.ar-single-header__eyebrow,
.ar-review-block__eyebrow,
.ar-review-article__label {
	color: var(--ar-accent);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ar-single-header__title {
	max-width: 920px;
	margin: 0;
	font-size: clamp(2.1rem, 4.4vw, 4.2rem);
	line-height: 1.02;
	letter-spacing: -0.055em;
}

.ar-single-header__original-title {
	margin: -4px 0 0;
	color: var(--ar-muted);
	font-size: clamp(0.98rem, 1.4vw, 1.08rem);
	line-height: 1.6;
}

.ar-single-header__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 9px 16px;
	align-items: center;
	color: var(--ar-muted);
	font-size: 0.88rem;
	line-height: 1.5;
}

.ar-single-header__meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.ar-single-header__meta span:not(:last-child)::after {
	content: "";
	width: 4px;
	height: 4px;
	margin-left: 7px;
	background: var(--ar-border);
	border-radius: 999px;
}

.ar-single-header__badges,
.ar-single-header__taxonomies {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ar-single-header__taxonomies {
	flex-direction: column;
	align-items: flex-start;
	margin-top: 4px;
}

.ar-single-header__taxonomy {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.ar-single-header__taxonomy-label {
	color: var(--ar-muted);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.ar-single-header__score-card {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	align-self: flex-start;
	margin-top: 6px;
	padding: 12px 16px;
	background: #111827;
	color: #fff;
	border-radius: 16px;
	box-shadow: 0 16px 34px rgba(17, 24, 39, 0.22);
}

.ar-single-header__score-label {
	max-width: 62px;
	color: rgba(255, 255, 255, 0.76);
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ar-single-header__score-value {
	font-size: 2rem;
	font-weight: 950;
	line-height: 1;
}

.ar-single-header__score-value span {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.95rem;
}

.ar-review-article,
.ar-review-summary,
.ar-pros-cons,
.ar-verdict,
.ar-review-score,
.ar-comments {
	background: var(--ar-surface);
	border: 1px solid var(--ar-border);
	border-radius: calc(var(--ar-radius) + 2px);
	box-shadow: 0 12px 30px rgba(17, 24, 39, 0.05);
}

.ar-review-article {
	padding: clamp(20px, 3vw, 36px);
}

.ar-review-article__label {
	margin-bottom: 14px;
}

.single-anime .entry-content {
	max-width: var(--ar-single-content-width);
	font-size: 1.05rem;
	line-height: 1.85;
}

.single-anime .entry-content > *:first-child {
	margin-top: 0;
}

.single-anime .entry-content > *:last-child {
	margin-bottom: 0;
}

.single-anime .entry-content h2,
.single-anime .entry-content h3,
.single-anime .entry-content h4 {
	margin-top: 1.85em;
	margin-bottom: 0.6em;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.single-anime .entry-content p {
	margin-bottom: 1.2em;
}

.single-anime .entry-content img {
	border-radius: var(--ar-radius);
}

.ar-review-panels {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(240px, 0.6fr);
	gap: var(--ar-gap);
	margin-block: var(--ar-section-gap);
}

.ar-review-panels .ar-section,
.ar-review-summary,
.ar-review-score,
.ar-pros-cons,
.ar-verdict,
.ar-related-reviews,
.ar-comments {
	margin-block: 0;
}

.ar-review-summary,
.ar-pros-cons,
.ar-verdict,
.ar-review-score,
.ar-comments {
	padding: clamp(18px, 3vw, 30px);
}

.ar-review-block__header {
	margin-bottom: 18px;
}

.ar-review-block__header .ar-section__title,
.ar-review-score .ar-section__title {
	margin-bottom: 0;
}

.ar-review-summary__grid {
	display: grid;
	grid-template-columns: 0.65fr 1fr;
	gap: 14px;
}

.ar-review-summary__item {
	padding: 16px;
	background: #fbfcff;
	border: 1px solid var(--ar-border);
	border-radius: calc(var(--ar-radius) - 4px);
}

.ar-review-summary__item--score {
	display: grid;
	align-content: center;
	background: linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(245, 158, 11, 0.12));
}

.ar-review-summary__item--verdict,
.ar-review-summary__item--recommended {
	grid-column: 2;
}

.ar-review-summary__label {
	display: block;
	margin-bottom: 8px;
	color: var(--ar-muted);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ar-review-summary__value {
	color: var(--ar-accent);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 950;
	line-height: 1;
}

.ar-review-summary__text {
	margin: 0;
	color: var(--ar-text);
	line-height: 1.7;
}

.ar-review-score {
	display: flex;
	align-items: stretch;
	background: #111827;
	color: #fff;
}

.ar-review-score__content {
	display: grid;
	gap: 16px;
	align-content: space-between;
	width: 100%;
}

.ar-review-score .ar-section__title,
.ar-review-score .ar-review-block__eyebrow {
	color: #fff;
}

.ar-review-score .ar-review-block__eyebrow {
	color: rgba(255, 255, 255, 0.72);
}

.ar-review-score__value {
	display: flex;
	align-items: end;
	gap: 6px;
}

.ar-review-score__number {
	color: #fff;
	font-size: clamp(3rem, 7vw, 5rem);
	font-weight: 950;
	line-height: 0.9;
	letter-spacing: -0.06em;
}

.ar-review-score__max {
	color: rgba(255, 255, 255, 0.62);
	font-size: 1.1rem;
	font-weight: 900;
}

.ar-review-score__empty {
	margin: 0;
	color: rgba(255, 255, 255, 0.74);
}

.ar-pros-cons__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ar-gap);
}

.ar-pros-cons__column {
	position: relative;
	padding: 20px 20px 20px 22px;
	background: #fbfcff;
	border: 1px solid var(--ar-border);
	border-radius: calc(var(--ar-radius) - 2px);
	overflow: hidden;
}

.ar-pros-cons__column::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--ar-success);
}

.ar-pros-cons__column--cons::before {
	background: var(--ar-danger);
}

.ar-pros-cons__heading {
	margin: 0 0 14px;
	font-size: 1.08rem;
	font-weight: 900;
}

.ar-pros-cons__column--pros .ar-pros-cons__heading {
	color: var(--ar-success);
}

.ar-pros-cons__column--cons .ar-pros-cons__heading {
	color: var(--ar-danger);
}

.ar-pros-cons__list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ar-pros-cons__list li {
	position: relative;
	padding-left: 24px;
	line-height: 1.6;
}

.ar-pros-cons__list li::before {
	position: absolute;
	left: 0;
	top: 0.05em;
	font-weight: 900;
}

.ar-pros-cons__column--pros li::before {
	content: "+";
	color: var(--ar-success);
}

.ar-pros-cons__column--cons li::before {
	content: "–";
	color: var(--ar-danger);
}

.ar-verdict {
	position: relative;
	background:
		linear-gradient(135deg, rgba(124, 58, 237, 0.08), rgba(245, 158, 11, 0.08)),
		var(--ar-surface);
}

.ar-verdict__text {
	max-width: 760px;
	margin: 0;
	color: var(--ar-text);
	font-size: clamp(1.05rem, 1.6vw, 1.22rem);
	font-weight: 650;
	line-height: 1.75;
}

.ar-related-reviews {
	margin-top: var(--ar-section-gap);
}

.ar-related-reviews__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 18px;
}

.ar-comments {
	margin-top: var(--ar-section-gap);
}

/* Final single article polish. */
.ar-single-header {
	box-shadow: 0 14px 38px rgba(17, 24, 39, 0.07);
}

.ar-single-header__title {
	text-wrap: balance;
}

.ar-single-header__meta {
	font-size: 0.84rem;
}

.ar-review-article,
.ar-review-summary,
.ar-pros-cons,
.ar-verdict,
.ar-review-score,
.ar-comments {
	box-shadow: 0 10px 28px rgba(17, 24, 39, 0.055);
}

.single-anime .entry-content {
	font-size: clamp(1rem, 1.1vw, 1.075rem);
	line-height: 1.82;
}

.single-anime .entry-content h2 {
	font-size: clamp(1.45rem, 2.1vw, 2rem);
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.single-anime .entry-content h3 {
	font-size: clamp(1.2rem, 1.6vw, 1.55rem);
	line-height: 1.25;
}

.single-anime .entry-content p,
.single-anime .entry-content ul,
.single-anime .entry-content ol {
	margin-bottom: 1.18em;
}

.ar-review-block__title,
.ar-review-score__title,
.ar-verdict__title {
	text-wrap: balance;
}

.ar-related-reviews .ar-card__title a {
	-webkit-line-clamp: 2;
}
