/* Article hero: display the complete official image without cropping. */
.review-v3 .rx3-single-hero__image {
	width: 100%;
	height: auto;
	min-height: 0;
	max-height: none;
	object-fit: contain;
	object-position: center;
}

.review-v3 .rx3-review-card.is-featured .rx3-review-card__title,
.review-v3 .rx3-single-hero__title {
	width: 100%;
	max-width: none;
	text-wrap: pretty;
}

/* PC editorial media: preserve the complete featured artwork at its natural ratio. */
@media (min-width: 1101px) {
	.review-v3 .rx3-review-card.is-featured {
		grid-template-columns: minmax(0, 1.45fr) minmax(420px, .7fr);
		align-items: start;
		height: auto;
		min-height: 0;
	}

	.review-v3 .rx3-review-card.is-featured .rx3-review-card__media {
		align-self: start;
		height: auto;
		min-height: 0;
		aspect-ratio: auto;
		background: #060607;
	}

	.review-v3 .rx3-review-card.is-featured .rx3-review-card__image {
		display: block;
		width: 100%;
		height: auto;
		min-height: 0;
		object-fit: contain;
		object-position: center;
		transform: none;
	}

	.review-v3 .rx3-review-card.is-featured:hover .rx3-review-card__image {
		transform: none;
	}

	.review-v3 .rx3-review-card.is-featured .rx3-review-card__media::after {
		background: linear-gradient(180deg, transparent 82%, rgba(5, 5, 7, .2));
	}

	.review-v3 .rx3-review-card.is-featured .rx3-review-card__body {
		justify-content: flex-start;
		min-height: 0;
		padding: clamp(1.55rem, 2.2vw, 2.25rem);
	}

	.review-v3 .rx3-review-card.is-featured .rx3-review-card__title {
		width: 100%;
		max-width: none;
		font-size: clamp(2.05rem, 2.3vw, 2.45rem);
		line-height: 1.08;
		letter-spacing: -.035em;
		text-wrap: pretty;
	}

	.review-v3 .rx3-single-hero {
		grid-template-columns: minmax(0, 1.25fr) minmax(430px, .75fr);
		align-items: start;
		height: auto;
		min-height: 0;
	}

	.review-v3 .rx3-single-hero__media {
		align-self: start;
		height: auto;
		min-height: 0;
		background: #060607;
	}

	.review-v3 .rx3-single-hero__media img,
	.review-v3 .rx3-single-hero__image {
		display: block;
		width: 100%;
		height: auto;
		min-height: 0;
		max-height: none;
		object-fit: contain;
		object-position: center;
	}

	.review-v3 .rx3-single-hero__media::after {
		background:
			linear-gradient(90deg, transparent 82%, rgba(5, 5, 6, .18)),
			linear-gradient(0deg, rgba(5, 5, 6, .12), transparent 18%);
	}

	.review-v3 .rx3-single-hero__copy {
		justify-content: flex-start;
		gap: .8rem;
		min-height: 0;
		padding: clamp(1.55rem, 2.2vw, 2.25rem);
	}

	.review-v3 .rx3-single-hero__top {
		margin-bottom: 0;
	}

	.review-v3 .rx3-single-hero__title {
		width: 100%;
		max-width: none;
		font-size: clamp(2.15rem, 2.5vw, 2.6rem);
		line-height: 1.07;
		letter-spacing: -.035em;
		text-wrap: pretty;
	}
}

/* Article CTAs: the existing affiliate button is the only visible element. */
.review-v3 .rx3-review-cta {
	display: grid;
	min-width: 0;
	place-items: center;
	padding: clamp(1.4rem, 4vw, 3rem) 0;
	background: transparent;
	scroll-margin-top: 7rem;
}

.review-v3 .rx3-review-cta > .dkt-fanza-set--cta,
.review-v3 .rx3-review-cta .dkt-fanza-set,
.review-v3 .rx3-review-cta .dkt-fanza-cta {
	width: 100%;
	max-width: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.review-v3 .rx3-review-cta .dkt-fanza-cta {
	display: flex;
	justify-content: center;
}

.review-v3 .rx3-review-cta .dkt-fanza-cta__button {
	max-width: 100%;
	color: #fff;
}

.review-v3 .rx3-review-section.is-product a.dkt-fanza-product__button {
	background: #2e2529;
	color: #fff8fa;
	transition: color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.review-v3 .rx3-review-section.is-product a.dkt-fanza-product__button > span {
	color: #f3afc6;
	transition: color .2s ease, transform .2s ease;
}

.review-v3 .rx3-review-section.is-product a.dkt-fanza-product__button:hover,
.review-v3 .rx3-review-section.is-product a.dkt-fanza-product__button:focus-visible {
	background: #b43a65;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 .75rem 1.5rem rgba(180, 58, 101, .24);
}

.review-v3 .rx3-review-section.is-product a.dkt-fanza-product__button:hover > span,
.review-v3 .rx3-review-section.is-product a.dkt-fanza-product__button:focus-visible > span {
	color: #fff;
	transform: translateX(3px);
}

/* PLAY ANALYSIS: target Review v3's actual DOM, not the legacy flow selector. */
.review-v3 .rx3-review-section.is-play .rx3-review-section__content {
	height: auto;
	min-height: 0;
	padding: clamp(.7rem, 2vw, 1rem);
	overflow: visible;
	background: linear-gradient(145deg, var(--rx3-paper-2), #fff5f8);
	color: var(--rx3-burgundy);
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped {
	display: block;
	height: auto;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid #e4cfd6;
	border-radius: 18px;
	background: linear-gradient(145deg, #fff, #fff8fa);
	color: var(--rx3-burgundy);
	box-shadow: none;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__header {
	padding: clamp(1rem, 2.4vw, 1.45rem) clamp(1rem, 2.6vw, 1.5rem);
	border-bottom: 1px solid #eadce1;
	background: linear-gradient(115deg, #fff4f7, #fffdfb);
}

.review-v3 .rx3-review-section.is-play .play-bars__eyebrow {
	color: #a44867;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__title {
	margin: .35rem 0 0;
	padding-left: .8rem;
	border-left: 4px solid var(--rx3-accent);
	color: var(--rx3-burgundy);
	font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__body {
	display: grid;
	gap: .75rem;
	height: auto;
	min-height: 0;
	padding: clamp(.75rem, 2vw, 1rem);
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__groups {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: .75rem;
	height: auto;
	min-height: 0;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__group {
	min-width: 0;
	height: auto;
	min-height: 0;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--dkj-play-color) 28%, #e6d7dc);
	border-radius: 14px;
	background: color-mix(in srgb, var(--dkj-play-soft) 32%, #fff);
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__group-title {
	margin: 0;
	padding: .62rem .72rem .55rem;
	border-bottom: 1px solid color-mix(in srgb, var(--dkj-play-color) 25%, #eadfe3);
	background: color-mix(in srgb, var(--dkj-play-soft) 52%, #fff);
	color: var(--dkj-play-dark);
	font-size: .68rem;
	font-weight: 900;
	letter-spacing: .15em;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__group-list {
	padding: .18rem .65rem .32rem;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"label value"
		"meter meter";
	gap: .25rem .6rem;
	min-width: 0;
	height: auto;
	min-height: 0;
	padding: .52rem .08rem .56rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--rx3-burgundy);
	transition: none;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__item + .play-bars__item {
	border-top: 1px solid color-mix(in srgb, var(--dkj-play-color) 15%, #eee7e9);
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__item:hover {
	background: transparent;
	transform: none;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__label-wrap {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	grid-area: label;
	gap: .28rem .42rem;
	min-width: 0;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 4.3rem;
	min-height: 1.35rem;
	padding: .12rem .38rem;
	border: 1px solid color-mix(in srgb, var(--dkj-play-color) 35%, #e5d6db);
	border-radius: 999px;
	background: color-mix(in srgb, var(--dkj-play-soft) 66%, #fff);
	color: var(--dkj-play-dark);
	font-size: .52rem;
	font-weight: 900;
	letter-spacing: .1em;
	line-height: 1;
	opacity: 1;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__label,
.review-v3 .rx3-review-section.is-play .play-bars--grouped a.play-bars__label {
	min-height: 0;
	color: var(--rx3-burgundy);
	font-size: .78rem;
	font-weight: 780;
	line-height: 1.4;
	opacity: 1;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped a.play-bars__label:hover,
.review-v3 .rx3-review-section.is-play .play-bars--grouped a.play-bars__label:focus-visible {
	color: var(--rx3-rose-dark);
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__meter {
	grid-area: meter;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__track {
	display: block;
	height: .38rem;
	overflow: hidden;
	border-radius: 999px;
	background: #e8dfdf;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--dkj-play-color);
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__value {
	grid-area: value;
	align-self: center;
	color: var(--dkj-play-dark);
	font-size: .76rem;
	font-variant-numeric: tabular-nums;
	font-weight: 850;
	opacity: 1;
}

.review-v3 .rx3-review-section.is-play .play-bars--grouped .hip-play-comment {
	height: auto;
	min-height: 0;
	margin-bottom: 0;
	padding: .72rem .82rem;
	border-color: #e4c5d0;
	background: #fff1f5;
	color: var(--rx3-rose-gray);
}

@media (max-width: 1100px) {
	.review-v3 .rx3-cross-nav--quad,
	.review-v3 .rx3-cross-nav--pair,
	.review-v3 .situation-atlas__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.review-v3 .situation-atlas__filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.review-v3 .play-atlas__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__groups {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__group.is-finish:last-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 782px) {
	body.admin-bar.review-v3 {
		--rx3-admin-bar-offset: 46px;
	}

	body.admin-bar.review-v3:not(.home) {
		padding-top: 130px;
	}

	body.admin-bar.review-v3 .site-header.rx3-site-header {
		top: var(--rx3-admin-bar-offset);
	}
}

@media (max-width: 700px) {
	.review-v3 .rx3-cross-nav,
	.review-v3 .page-kind-god .rx3-cross-nav--quad {
		grid-template-columns: minmax(0, 1fr);
		gap: .75rem;
	}

	.review-v3 .rx3-cross-card {
		min-height: 8.5rem;
	}

	.review-v3 .situation-atlas {
		width: min(calc(100% - 1rem), 1240px);
	}

	.review-v3 .situation-atlas__group-nav,
	.review-v3 .situation-atlas__filters {
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
	}

	.review-v3 .situation-atlas__filters button,
	.review-v3 .situation-atlas__filters > a {
		width: 100%;
		justify-content: center;
	}

	.review-v3 .situation-atlas__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.review-v3 .situation-atlas__group {
		padding: 1rem;
		border-radius: 18px;
	}

	.review-v3 .situation-atlas__group-nav > div {
		flex-wrap: wrap;
		overflow: visible;
	}

	.review-v3 .body-atlas__nav {
		grid-template-columns: minmax(0, 1fr);
	}

	.review-v3 .body-atlas__nav div {
		flex-wrap: wrap;
	}

	.review-v3 .play-atlas__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.review-v3 .play-atlas__nav a {
		min-width: min(7rem, 31%);
		flex: 1 1 7rem;
	}

	.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__groups {
		grid-template-columns: minmax(0, 1fr);
		gap: .65rem;
	}

	.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__groups > .play-bars__group,
	.review-v3 .rx3-review-section.is-play .play-bars--grouped .play-bars__group.is-finish:last-child {
		grid-column: auto;
		grid-row: auto;
	}
}

@media (max-width: 600px) {
	.review-v3 .rx3-footer-reaction,
	.review-v3 .rx3-footer-reaction.is-bubble-left {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
		width: min(100%, 34rem);
	}

	.review-v3 .rx3-footer-reaction .rx3-footer-reaction__character,
	.review-v3 .rx3-footer-reaction.is-bubble-left .rx3-footer-reaction__character {
		order: 1;
		width: 128px;
		max-width: 42vw;
		justify-self: center;
	}

	.review-v3 .rx3-footer-reaction .rx3-footer-reaction__image {
		height: 128px;
		max-height: 42vw;
	}

	.review-v3 .rx3-footer-reaction .rx3-footer-reaction__bubble,
	.review-v3 .rx3-footer-reaction.is-bubble-left .rx3-footer-reaction__bubble {
		order: 2;
		padding: 1.1rem;
	}

	.review-v3 .rx3-footer-reaction .rx3-footer-reaction__bubble::before,
	.review-v3 .rx3-footer-reaction.is-bubble-left .rx3-footer-reaction__bubble::before {
		top: -9px;
		right: auto;
		left: 50%;
		border: 0;
		border-top: 1px solid #e0b8c6;
		border-left: 1px solid #e0b8c6;
		transform: translateX(-50%) rotate(45deg);
	}
}

@media (max-width: 520px) {
	body.review-v3:not(.home) {
		padding-top: 72px;
	}

	body.admin-bar.review-v3:not(.home) {
		padding-top: 118px;
	}

	.review-v3 .body-atlas__nav,
	.review-v3 .play-atlas__nav {
		top: calc(72px + .5rem);
	}

	.review-v3 .play-atlas__group {
		scroll-margin-top: calc(72px + 8rem);
	}

	.review-v3 .rx3-single-hero__placeholder {
		min-height: 50svh;
	}

	.review-v3 .rx3-review-cta {
		padding-block: 1.25rem;
	}

	.review-v3 .rx3-review-highlights {
		padding: 1.15rem;
	}

	.review-v3 .rx3-review-highlights__item {
		grid-template-columns: 2.05rem minmax(0, 1fr);
		gap: .75rem;
		padding-block: .9rem;
		font-size: .94rem;
		line-height: 1.72;
	}

	.review-v3 .rx3-review-highlights__number {
		width: 2rem;
		height: 2rem;
		font-size: .68rem;
	}

	.review-v3 .rx3-review-cta .dkt-fanza-cta__button {
		width: min(100%, 32rem);
	}

	.review-v3 .play-atlas {
		padding-inline: .5rem;
	}

	.review-v3 .play-atlas__group {
		padding: 1rem;
	}

	.review-v3 .play-atlas__card {
		gap: .5rem;
		padding: .9rem;
	}

	.review-v3 .play-atlas__icon {
		width: 2.75rem;
		height: 2.75rem;
		flex-basis: 2.75rem;
	}

	.review-v3 .rx3-review-section.is-play .rx3-review-section__content {
		padding: .5rem;
	}
}
