.ai-review-lightbox-open {
	overflow: hidden;
}

.ai-review-images.comment_gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.ai-review-images .ai-review-images__item {
	display: inline-flex;
	width: 100px;
	max-width: calc(50% - 6px);
	overflow: hidden;
	border-radius: var(--ai-radius, 12px);
	box-shadow: var(--ai-shadow, 0 4px 14px rgba(15,23,42,.08));
	transform: rotate(var(--ai-rotation, 0deg));
	background: #f8fafc;
}

.ai-review-images .ai-review-images__item.is-square {
	aspect-ratio: 1 / 1;
}

.ai-review-images .ai-review-images__item.is-portrait {
	aspect-ratio: 4 / 5;
}

.ai-review-images .ai-review-images__item.has-soft-edge {
	border-radius: calc(var(--ai-radius, 12px) + 4px);
}

.ai-review-images .ai-review-images__thumb {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(var(--ai-brightness, 1)) contrast(var(--ai-contrast, 1));
	transition: transform .18s ease, filter .18s ease;
}

.ai-review-images .ai-review-images__item:hover .ai-review-images__thumb,
.ai-review-images .ai-review-images__item:focus .ai-review-images__thumb {
	transform: scale(1.03);
}

.ai-review-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(15, 23, 42, .82);
}

.ai-review-lightbox[hidden] {
	display: none;
}

.ai-review-lightbox__dialog {
	position: relative;
	max-width: min(92vw, 980px);
	max-height: 90vh;
}

.ai-review-lightbox__image {
	display: block;
	max-width: 100%;
	max-height: 90vh;
	border-radius: 18px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, .28);
}

.ai-review-lightbox__close {
	position: absolute;
	top: -14px;
	left: -14px;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: #0f172a;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
}

.ai-review-lightbox__close svg {
	width: 18px;
	height: 18px;
	display: block;
	margin: auto;
}

.ai-review-card__text .ai-review-images.comment_gallery,
.ai-review-comments-item .ai-review-images.comment_gallery {
	clear: both;
}

.ai-review-comments-item .ai-review-card__text > .ai-review-images.comment_gallery {
	margin-top: 16px;
}

.ai-review-comments-item .ai-review-card__text .ai-review-images__item {
	max-width: min(132px, calc(50% - 6px));
}

.comment-body > .ai-review-images.comment_gallery,
.ai-review-card__text .comment-body > .ai-review-images.comment_gallery {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	margin: 0 0 16px;
}

.comment-body > .ai-review-images.comment_gallery .ai-review-images__item,
.ai-review-card__text .comment-body > .ai-review-images.comment_gallery .ai-review-images__item {
	display: flex;
	width: 100%;
	max-width: 100%;
	aspect-ratio: auto;
	transform: none;
}

.comment-body > .ai-review-images.comment_gallery .ai-review-images__thumb,
.ai-review-card__text .comment-body > .ai-review-images.comment_gallery .ai-review-images__thumb {
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
}

@media (min-width: 768px) {
	#comments:has(.ai-review-comments-item),
	.ai-review-comments-ready {
		display: grid;
		gap: 18px;
	}

	.ai-review-comments-item {
		position: relative;
		margin: 0;
		border: 1px solid #e6ebf2;
		border-radius: 26px;
		background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
		box-shadow: 0 18px 40px rgba(15, 23, 42, .06);
		overflow: hidden;
		transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	}

	.ai-review-comments-item:hover {
		transform: translateY(-2px);
		box-shadow: 0 22px 44px rgba(15, 23, 42, .08);
		border-color: #dce6f2;
	}

	.ai-review-comments-item.is-recommended::before,
	.ai-review-comments-item.is-not-recommended::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 6px;
		height: 100%;
	}

	.ai-review-comments-item.is-recommended::before {
		background: linear-gradient(180deg, #16a34a 0%, #22c55e 100%);
	}

	.ai-review-comments-item.is-not-recommended::before {
		background: linear-gradient(180deg, #ef4444 0%, #f97316 100%);
	}

	.ai-review-card {
		display: grid;
		grid-template-columns: 118px minmax(0, 1fr);
		gap: 0;
	}

	.ai-review-card__aside {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 14px;
		padding: 24px 18px;
		background: linear-gradient(180deg, #f7faff 0%, #eef5ff 100%);
		border-left: 1px solid #e6ebf2;
	}

	.ai-review-avatar {
		width: 58px;
		height: 58px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 18px;
		background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
		color: #fff;
		font-size: 24px;
		font-weight: 800;
		box-shadow: 0 16px 26px rgba(37, 99, 235, .18);
	}

	.ai-review-score {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		padding: 12px 10px;
		width: 100%;
		border-radius: 18px;
		background: #fff;
		border: 1px solid #dde7f4;
		color: #0f172a;
	}

	.ai-review-score strong {
		font-size: 24px;
		line-height: 1;
		font-weight: 800;
		color: #0f172a;
	}

	.ai-review-score span {
		font-size: 11px;
		font-weight: 700;
		color: #64748b;
	}

	.ai-review-card__content {
		padding: 22px 24px 20px;
	}

	.ai-review-card__head {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 20px;
		margin-bottom: 14px;
	}

	.ai-review-card__identity {
		min-width: 0;
		flex: 1;
	}

	.ai-review-card__author-row {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		margin-bottom: 8px;
	}

	.ai-review-card__author {
		margin: 0;
		font-size: 18px;
		font-weight: 800;
		line-height: 1.4;
		color: #0f172a;
	}

	.ai-review-card__meta {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
		color: #64748b;
	}

	.ai-review-card__meta .ai-review-card__meta-item {
		margin: 0;
		padding: 0;
		font-size: 12px;
		font-weight: 700;
		color: #64748b;
	}

	.ai-review-card__meta .ai-review-card__meta-item--rating span {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		padding: 4px 10px;
		border-radius: 999px;
		background: #eef2ff;
		color: #4338ca;
		font-size: 12px;
		font-weight: 800;
	}

	.ai-review-card__title-wrap {
		margin-bottom: 12px;
	}

	.ai-review-card__title {
		display: block;
		font-size: 16px;
		font-weight: 800;
		line-height: 1.8;
		color: #162033;
	}

	.ai-review-card__body {
		display: grid;
		gap: 16px;
	}

	.ai-review-card__text {
		padding: 0;
		margin: 0;
		color: #334155;
	}

	.ai-review-card__text p {
		margin: 0;
		font-size: 14px;
		line-height: 2.15;
		color: #334155;
		text-align: justify;
	}

	.ai-review-card__pros-cons {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.ai-review-points {
		padding: 14px 16px;
		border-radius: 20px;
		background: #f8fafc;
		border: 1px solid #e6ebf2;
	}

	.ai-review-points.is-positive {
		background: linear-gradient(180deg, #f2fbf5 0%, #ffffff 100%);
	}

	.ai-review-points.is-negative {
		background: linear-gradient(180deg, #fff7f7 0%, #ffffff 100%);
	}

	.ai-review-points__title {
		margin-bottom: 10px;
		font-size: 12px;
		font-weight: 800;
		color: #0f172a;
	}

	.ai-review-points .ai-review-points__list {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.ai-review-points .ai-review-points__item {
		margin: 0;
		padding: 10px 12px;
		border-radius: 14px;
		background: #fff;
		border: 1px solid #e9eef5;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.9;
		color: #334155;
	}

	.ai-review-card__footer {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		margin-top: 18px;
		padding-top: 16px;
		border-top: 1px solid #edf2f7;
	}

	.ai-review-stats {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.ai-review-stat {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 7px 12px;
		border-radius: 999px;
		background: #f8fafc;
		border: 1px solid #e5edf7;
		font-size: 12px;
		font-weight: 700;
		color: #475569;
	}

	.ai-review-stat.is-helpful {
		background: #effcf3;
		border-color: #d1fadf;
		color: #166534;
	}

	.ai-review-stat.is-unhelpful {
		background: #fff7ed;
		border-color: #fed7aa;
		color: #9a3412;
	}

	.ai-review-stat.is-media {
		background: #eff6ff;
		border-color: #bfdbfe;
		color: #1d4ed8;
	}

	.ai-review-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 5px 10px;
		border-radius: 999px;
		font-size: 11px;
		font-weight: 800;
		line-height: 1.4;
	}

	.ai-review-badge.is-verified {
		background: #eef2ff;
		color: #4338ca;
	}

	.ai-review-badge.is-recommended {
		background: #ecfdf3;
		color: #15803d;
	}

	.ai-review-badge.is-not-recommended {
		background: #fef2f2;
		color: #dc2626;
	}

	.ai-review-badge.is-media {
		background: #eff6ff;
		color: #2563eb;
	}

	.ai-review-actions {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px;
		margin: 0;
	}

	.ai-review-actions .ai-review-actions__label {
		margin: 0 0 0 8px;
		font-size: 12px;
		font-weight: 700;
		color: #64748b;
	}

	.ai-review-actions .ai-review-actions__button {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 8px 12px;
		border-radius: 999px;
		background: #fff;
		border: 1px solid #e5edf7;
		transition: background .18s ease, border-color .18s ease, transform .18s ease;
	}

	.ai-review-actions .ai-review-actions__button:hover {
		background: #f8fafc;
		border-color: #d6e0ec;
		transform: translateY(-1px);
	}

	.ai-review-actions .ai-review-actions__icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 18px;
		height: 18px;
		border-radius: 999px;
		background: #eff6ff;
		color: #1d4ed8;
		font-size: 12px;
		font-weight: 900;
		line-height: 1;
	}

	.ai-review-actions .comment-like-count,
	.ai-review-actions .comment-dislike-count {
		font-size: 12px;
		font-weight: 800;
		color: #0f172a;
	}

	.ai-review-comments-ready + #load-more-comments,
	#load-more-comments.ai-review-load-more {
		width: 100%;
		margin-top: 18px;
		height: 54px;
		border: 0;
		border-radius: 18px;
		background: linear-gradient(135deg, #1d4ed8 0%, #4338ca 100%);
		color: #fff;
		font-size: 14px;
		font-weight: 800;
		box-shadow: 0 18px 30px rgba(37, 99, 235, .18);
		transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
	}

	#load-more-comments.ai-review-load-more:hover {
		transform: translateY(-2px);
		box-shadow: 0 22px 34px rgba(37, 99, 235, .24);
	}

	#load-more-comments.ai-review-load-more[disabled] {
		opacity: .72;
		cursor: not-allowed;
		transform: none;
		box-shadow: none;
	}
}

@media (max-width: 767px) {
	html body #comments.ai-review-comments-ready,
	html body #comments:has(.ai-review-comments-item) {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 12px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding: 0 0 8px !important;
		margin: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		direction: rtl !important;
	}

	html body #comments.ai-review-comments-ready > .ai-review-comments-item,
	html body #comments:has(.ai-review-comments-item) > .ai-review-comments-item {
		display: block !important;
		flex: 0 0 min(84vw, 340px) !important;
		width: min(84vw, 340px) !important;
		min-width: min(84vw, 340px) !important;
		max-width: min(84vw, 340px) !important;
		scroll-snap-align: start;
		margin: 0 !important;
	}

	html body #comments.ai-review-comments-ready > .ai-review-comments-item:last-child,
	html body #comments:has(.ai-review-comments-item) > .ai-review-comments-item:last-child {
		margin-left: 0 !important;
	}

	.ai-review-card {
		display: flex;
		flex-direction: column;
	}

	.ai-review-card__aside {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 14px 0;
	}

	.ai-review-card__content {
		padding: 14px;
	}

	.ai-review-card__pros-cons {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.ai-review-images.comment_gallery {
		gap: 8px;
	}

	.ai-review-images .ai-review-images__item {
		width: 84px;
		max-width: calc(50% - 4px);
	}

	.ai-review-lightbox {
		padding: 14px;
	}

	.ai-review-lightbox__dialog,
	.ai-review-lightbox__image {
		max-width: 100%;
	}

	.ai-review-lightbox__close {
		top: 8px;
		left: 8px;
	}
}


@media (max-width: 767px) {
    html body #comments.ai-review-qa-section,
    html body #comments.ai-review-comments-ready.ai-review-qa-section {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: min(84vw, 340px) !important;
        gap: 12px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 12px 8px !important;
        margin: 0 -12px !important;
        direction: rtl !important;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
    }

    html body #comments.ai-review-qa-section > .ai-review-comments-item {
        width: min(84vw, 340px) !important;
        min-width: min(84vw, 340px) !important;
        max-width: min(84vw, 340px) !important;
        scroll-snap-align: start;
        border-radius: 18px !important;
        border: 1px solid #e6e6eb !important;
        background: #fff !important;
        box-shadow: none !important;
        overflow: hidden;
    }
}


@media (max-width: 767px) {
    html body #comments .ai-comments-mobile-scroller {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: min(84vw, 340px) !important;
        gap: 12px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 12px 8px !important;
        margin: 0 -12px !important;
        direction: rtl !important;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
    }

    html body #comments .ai-comments-mobile-scroller > .ai-review-comments-item {
        width: min(84vw, 340px) !important;
        min-width: min(84vw, 340px) !important;
        max-width: min(84vw, 340px) !important;
        margin: 0 !important;
        scroll-snap-align: start;
    }
}
