@font-face {
	font-family: "JetBrainsMono";
	src: local("JetBrains Mono"), local("JetBrainsMono"), url("/fonts/JetBrainsMono-Regular.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

.product-details-page {
	--product-background: #070914;
	--product-surface: rgba(14, 18, 35, .78);
	--product-surface-strong: rgba(10, 13, 28, .9);
	--product-line: rgba(143, 159, 217, .18);
	--product-line-strong: rgba(126, 144, 222, .34);
	--product-text: #f5f7ff;
	--product-muted: #a8b2c9;
	--product-muted-dark: #78849d;
	--product-violet: #8465ff;
	--product-violet-bright: #a48cff;
	--product-cyan: #41cfff;
	--product-green: #38d689;
	--product-red: #ff4555;
	--product-radius: 5px;
	min-width: 320px;
	overflow-x: hidden;
	color: var(--product-text);
	background: linear-gradient(180deg, #070914 0%, #080b17 48%, #070914 100%);
	font-family: "GothamPro", "Gotham Pro", "Montserrat", "Segoe UI", sans-serif;
}

.product-details-page .page-shell {
	width: 100%;
	min-height: calc(100vh - var(--site-header-height, 72px));
	margin: calc(var(--site-header-height, 72px) * -1) 0 0;
	overflow: visible;
}

.product-details-page .page-shell :is(h1, h2, h3, strong, b) {
	font-weight: 400;
}

.product-details-page .page-shell :is(a, button, textarea):focus-visible {
	outline: 1px solid var(--product-cyan);
	outline-offset: 3px;
}

.product-details-page .page-shell ::selection {
	color: #ffffff;
	background: var(--product-violet);
}

.product-details {
	position: relative;
	background: var(--product-background);
}

.product-details-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 780px;
	padding: calc(var(--site-header-height, 72px) + 58px) 0 58px;
	overflow: hidden;
	background: var(--product-background);
	isolation: isolate;
}

.product-details-hero__background {
	position: absolute;
	inset: 0;
	z-index: -3;
	background-position: center;
	background-size: cover;
	pointer-events: none;
}

.product-details-hero::before {
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(90deg, rgba(4, 7, 17, .94) 0%, rgba(6, 9, 20, .78) 42%, rgba(9, 10, 25, .68) 100%),
		linear-gradient(120deg, rgba(55, 207, 255, .07), rgba(124, 98, 255, .12));
	content: "";
}

.product-details-hero::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(7, 9, 20, .25) 0%, rgba(7, 9, 20, .08) 36%, rgba(7, 9, 20, .54) 76%, var(--product-background) 100%),
		radial-gradient(circle at 74% 30%, rgba(132, 101, 255, .09), transparent 38rem);
	content: "";
}

.product-details-hero__container,
.product-details-section-container {
	position: relative;
	width: min(1240px, calc(100% - 48px));
	margin: 0 auto;
}

.product-details-hero__layout {
	display: grid;
	grid-template-columns: minmax(330px, .78fr) minmax(520px, 1.22fr);
	grid-template-rows: auto auto;
	align-items: start;
	column-gap: 54px;
	row-gap: 18px;
	width: 100%;
}

.product-details-hero__intro {
	display: contents;
}

.product-details-hero__primary {
	display: flex;
	grid-row: 2;
	grid-column: 1;
	align-items: flex-start;
	flex-direction: column;
	gap: 18px;
	width: min(430px, 100%);
	min-width: 0;
}

.product-details-hero__heading {
	grid-row: 1;
	grid-column: 1;
	width: 100%;
	max-width: 430px;
	min-width: 0;
}

.product-details-hero__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	color: var(--product-cyan);
	font-size: 10px;
	letter-spacing: .13em;
	line-height: 1.2;
	text-decoration: none;
	text-shadow: 0 0 12px rgba(65, 207, 255, .2);
	text-transform: uppercase;
	transition: color 160ms ease, text-shadow 160ms ease;
}

.product-details-hero__back svg {
	display: block;
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.product-details-hero__back:hover,
.product-details-hero__back:focus-visible {
	color: #ffffff;
	text-shadow: 0 0 14px rgba(65, 207, 255, .76);
}

.product-details-hero__heading h1 {
	margin: 0;
	overflow-wrap: anywhere;
	color: #ffffff;
	font-size: clamp(30px, 3.2vw, 46px);
	letter-spacing: -.025em;
	line-height: 1.04;
	text-shadow: 0 0 25px rgba(132, 101, 255, .22);
}

.product-details-avatar {
	position: relative;
	isolation: isolate;
	width: min(430px, 100%);
	aspect-ratio: 1 / 1;
	border: 1px solid rgba(140, 108, 255, .48);
	border-radius: var(--product-radius);
	overflow: visible;
	background: rgba(8, 10, 22, .88);
	box-shadow: 0 24px 64px rgba(0, 0, 0, .38), 0 0 26px rgba(111, 80, 232, .14), inset 0 1px 0 rgba(255, 255, 255, .04);
	backdrop-filter: blur(18px) saturate(130%);
}

.product-details-avatar::after {
	position: absolute;
	right: -1px;
	bottom: -1px;
	left: -1px;
	z-index: 4;
	height: 2px;
	border-radius: 0 0 var(--product-radius) var(--product-radius);
	background: var(--product-violet);
	box-shadow: 0 0 8px rgba(140, 108, 255, .62);
	content: "";
	pointer-events: none;
}

.product-details-avatar > img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	border-radius: inherit;
	object-fit: cover;
}

.product-details-avatar__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	place-items: center;
	color: rgba(245, 247, 255, .22);
	background: radial-gradient(circle, rgba(132, 101, 255, .2), transparent 64%);
	font-size: 92px;
}

.product-details-purchase-stack {
	display: grid;
	gap: 10px;
	width: min(430px, 100%);
}

.product-details-purchase-card {
	--product-purchase-color: var(--product-violet);
	display: grid;
	grid-template-columns: minmax(0, 1fr) 54px;
	align-items: stretch;
	gap: 0;
	width: 100%;
	height: 64px;
	padding: 4px;
	border: 1px solid color-mix(in srgb, var(--product-purchase-color) 30%, rgba(128, 144, 225, .28));
	border-radius: var(--product-radius);
	background: linear-gradient(120deg, rgba(9, 13, 27, .86), rgba(20, 19, 45, .78));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 12px 30px rgba(0, 0, 0, .24), 0 0 24px color-mix(in srgb, var(--product-purchase-color) 7%, transparent);
	backdrop-filter: blur(14px);
}

.product-details-purchase-card--rent {
	--product-purchase-color: var(--product-cyan);
}

.product-details-purchase-card--owned {
	--product-purchase-color: var(--product-green);
}

.product-details-purchase-card--special {
	--product-purchase-color: var(--product-muted-dark);
}

.product-details-purchase-card__value {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 13px;
	min-width: 0;
	padding: 9px 14px;
}

.product-details-purchase-card__value > span {
	color: var(--product-muted);
	font-size: 10px;
	letter-spacing: .08em;
	line-height: 1.25;
	text-transform: uppercase;
}

.product-details-purchase-card__value strong,
.product-details-purchase-card__prices strong {
	color: #ffffff;
	font-size: 23px;
	line-height: 1;
	white-space: nowrap;
	text-shadow: 0 0 18px color-mix(in srgb, var(--product-purchase-color) 35%, transparent);
}

.product-details-purchase-card__value strong small,
.product-details-purchase-card__prices--monthly > small {
	color: var(--product-muted-dark);
	font-size: 9px;
	letter-spacing: .02em;
}

.product-details-purchase-card--owned .product-details-purchase-card__value strong,
.product-details-purchase-card--special .product-details-purchase-card__value strong,
.product-details-purchase-card--installment-progress .product-details-purchase-card__value strong {
	font-size: 13px;
}

.product-details-purchase-card--owned .product-details-purchase-card__value strong,
.product-details-purchase-card--special .product-details-purchase-card__value strong {
	letter-spacing: .04em;
	text-transform: uppercase;
}

.product-details-purchase-card__prices {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-width: 0;
	white-space: nowrap;
}

/* Keep the prices together; only move the complete group below the label when space is tight. */
.product-details-purchase-card:has(.product-details-purchase-card__prices) { min-height:64px; height:auto; }
.product-details-purchase-card:has(.product-details-purchase-card__prices) .product-details-purchase-card__value { flex-wrap:wrap; }
.product-details-purchase-card:has(.product-details-purchase-card__prices) .product-details-purchase-card__action { align-self:center; }
.product-details-purchase-card__prices { flex-shrink:0; margin-left:auto; }
.product-details-purchase-card__prices :is(strong,small) { font-weight:400; }

/* Monthly prices stay to the right of a wrapping label; the billing unit sits below the current price. */
.product-details-purchase-card:has(.product-details-purchase-card__prices--monthly) .product-details-purchase-card__value {
	flex-wrap: nowrap;
}

.product-details-purchase-card__prices--monthly {
	position: relative;
	display: inline-grid;
	grid-template-columns: auto;
}

.product-details-purchase-card__prices--monthly:has(del) {
	grid-template-columns: auto auto;
}

.product-details-purchase-card__prices--monthly > del {
	grid-column: 1;
	grid-row: 1;
}

.product-details-purchase-card__prices--monthly > strong {
	grid-column: -2 / -1;
	grid-row: 1;
}

.product-details-purchase-card__prices--monthly > small {
	position: absolute;
	top: calc(100% + 3px);
	right: 0;
	line-height: 1;
}

.product-details-purchase-card__prices del {
	position: relative;
	color: rgba(210, 216, 229, .56);
	font-size: 13px;
	line-height: 1;
	text-decoration: none;
}

.product-details-purchase-card__prices del::before {
	position: absolute;
	top: 50%;
	right: -5px;
	left: -5px;
	height: 19px;
	background: url("/static/Assets/StrokeLine.png") center / 100% 100% no-repeat;
	filter: drop-shadow(0 0 3px rgba(255, 36, 50, .38));
	content: "";
	transform: translateY(-50%) rotate(-1.5deg) scaleX(1.03);
	pointer-events: none;
}

.product-details-purchase-card__action {
	position: relative;
	display: grid;
	width: 54px;
	height: 54px;
	min-height: 54px;
	align-self: center;
	justify-self: end;
	margin: 0;
	padding: 0;
	border: 0;
	border-left: 1px solid color-mix(in srgb, var(--product-purchase-color) 28%, transparent);
	border-radius: 3px;
	place-items: center;
	appearance: none;
	color: #ffffff;
	background: linear-gradient(120deg, color-mix(in srgb, var(--product-purchase-color) 55%, #292046), color-mix(in srgb, var(--product-purchase-color) 36%, #201b3d));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 18px color-mix(in srgb, var(--product-purchase-color) 12%, transparent);
	cursor: pointer;
	transition: border-color 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

span.product-details-purchase-card__action {
	cursor: default;
	opacity: .62;
}

.product-details-purchase-card__action:hover,
.product-details-purchase-card__action:focus-visible {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 26px color-mix(in srgb, var(--product-purchase-color) 22%, transparent);
	filter: brightness(1.12);
}

.product-details-purchase-card__action svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
}

.product-details-action-spinner,
.product-details-comment-form__spinner {
	display: none;
	width: 17px;
	height: 17px;
	border: 1.5px solid rgba(255, 255, 255, .22);
	border-top-color: currentColor;
	border-radius: 50%;
	animation: product-details-spin 600ms linear infinite;
}

.product-details-purchase-card__action.is-loading {
	cursor: wait;
	opacity: .76;
}

.product-details-purchase-card__action.is-loading svg {
	display: none;
}

.product-details-purchase-card__action.is-loading .product-details-action-spinner {
	display: block;
}

.product-details-gallery-shell {
	position: relative;
	grid-row: 2;
	grid-column: 2;
	align-self: center;
	min-width: 0;
}

.product-details-gallery__title {
	position: relative;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	width: max-content;
	height: 32px;
	margin: 0 16px -1px auto;
	padding: 0 16px;
	border: 1px solid rgba(140, 108, 255, .48);
	border-radius: 4px 4px 0 0;
	color: rgba(245, 247, 255, .92);
	background: rgba(9, 11, 25, .84);
	box-shadow: 0 -8px 22px rgba(0, 0, 0, .18), 0 0 16px rgba(132, 101, 255, .1);
	backdrop-filter: blur(14px) saturate(135%);
	font-size: 12px;
	letter-spacing: .075em;
	line-height: 1;
	text-shadow: 0 0 14px rgba(132, 101, 255, .24);
}

.product-details-gallery__title svg {
	display: block;
	width: 15px;
	height: 15px;
	flex: 0 0 15px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.product-details-gallery__title::after {
	position: absolute;
	right: -1px;
	bottom: -4px;
	left: -1px;
	z-index: 2;
	height: 3px;
	background: #8c6cff;
	box-shadow: 0 0 8px rgba(140, 108, 255, .7);
	content: "";
	pointer-events: none;
}

.product-details-gallery {
	position: relative;
	aspect-ratio: 16 / 9;
	border: 1px solid rgba(124, 106, 255, .54);
	border-radius: var(--product-radius);
	overflow: hidden;
	background: #07090c;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .48), 0 0 42px rgba(111, 80, 232, .2), 0 0 26px rgba(75, 199, 255, .1);
	cursor: zoom-in;
}

.product-details-gallery::after {
	position: absolute;
	inset: 0;
	z-index: 2;
	border: 1px solid rgba(75, 199, 255, .12);
	border-radius: inherit;
	box-shadow: inset 0 0 38px rgba(45, 36, 91, .18);
	content: "";
	pointer-events: none;
}

.product-details-gallery__track {
	display: flex;
	height: 100%;
	transition: transform 380ms ease;
	will-change: transform;
}

.product-details-gallery__slide-frame {
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	flex: 0 0 100%;
	overflow: hidden;
	background: rgba(7, 9, 12, .92);
	--site-image-loader-z: 3;
}

.product-details-gallery__slide {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	backface-visibility: hidden;
	filter: blur(.16px);
	image-rendering: high-quality;
	object-fit: cover;
}

.product-details-gallery__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	flex: 0 0 100%;
	place-items: center;
	align-content: center;
	gap: 12px;
	color: rgba(245, 247, 255, .22);
	background: radial-gradient(circle, rgba(132, 101, 255, .18), transparent 60%);
}

.product-details-gallery__placeholder span {
	font-size: clamp(84px, 10vw, 136px);
}

.product-details-gallery__placeholder small {
	color: var(--product-muted-dark);
	font-size: 11px;
}

.product-details-gallery__control {
	position: absolute;
	z-index: 4;
	display: grid;
	width: 46px;
	height: 46px;
	min-height: 46px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(202, 211, 255, .24);
	border-radius: 4px;
	place-items: center;
	appearance: none;
	color: var(--product-text);
	background: linear-gradient(145deg, rgba(31, 35, 61, .34), rgba(9, 12, 25, .22));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 10px 30px rgba(0, 0, 0, .24), 0 0 18px rgba(132, 101, 255, .08);
	backdrop-filter: blur(18px) saturate(155%);
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.product-details-gallery__control {
	top: 50%;
	transform: translateY(-50%);
}

.product-details-gallery__control:hover,
.product-details-gallery__control:focus-visible {
	border-color: rgba(138, 100, 255, .58);
	background: linear-gradient(145deg, rgba(52, 44, 96, .48), rgba(18, 21, 42, .32));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13), 0 10px 32px rgba(0, 0, 0, .28), 0 0 24px rgba(138, 100, 255, .18);
	filter: brightness(1.12);
}

.product-details-gallery__control svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.product-details-gallery__control--previous {
	left: 14px;
}

.product-details-gallery__control--next {
	right: 14px;
}

.product-details-gallery__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 38px;
	margin-top: 14px;
}

.product-details-gallery__note {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	color: var(--product-muted);
	font-size: 12px;
}

.product-details-gallery__note svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.product-details-gallery__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 22px;
}

.product-details-gallery__dot {
	width: 22px;
	height: 4px;
	min-height: 4px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 2px;
	appearance: none;
	background: rgba(132, 101, 255, .28);
	box-shadow: 0 0 8px rgba(132, 101, 255, .08);
	cursor: pointer;
	transition: width 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.product-details-gallery__dot.is-active {
	width: 42px;
	background: linear-gradient(105deg, #6f4cff 0%, #8b63ff 54%, #ad76ff 100%);
	box-shadow: 0 0 15px rgba(138, 100, 255, .62);
}

.product-details-overview {
	position: relative;
	padding: 84px 0 72px;
	border-top: 1px solid rgba(143, 159, 217, .16);
	border-bottom: 1px solid rgba(143, 159, 217, .16);
	background:
		radial-gradient(circle at 8% 18%, rgba(65, 207, 255, .05), transparent 34rem),
		linear-gradient(180deg, var(--product-background), #090c19 52%, var(--product-background));
}

.product-details-overview__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.58fr) minmax(300px, .72fr);
	align-items: stretch;
	gap: 22px;
}

.product-details-overview__aside {
	position: sticky;
	top: calc(var(--site-header-height, 72px) + 20px);
	display: grid;
	align-self: start;
	gap: 18px;
	min-width: 0;
}

.product-details-surface,
.product-details-comments-card {
	position: relative;
	min-width: 0;
	border: 1px solid var(--product-line);
	border-radius: var(--product-radius);
	background: linear-gradient(145deg, rgba(15, 19, 38, .88), rgba(9, 12, 27, .82));
	box-shadow: 0 22px 58px rgba(0, 0, 0, .27), inset 0 1px 0 rgba(255, 255, 255, .035);
	backdrop-filter: blur(18px) saturate(135%);
}

.product-details-surface::after,
.product-details-comments-card::after {
	position: absolute;
	right: -1px;
	bottom: -1px;
	left: -1px;
	height: 2px;
	border-radius: 0 0 var(--product-radius) var(--product-radius);
	background: var(--product-violet);
	box-shadow: 0 0 7px rgba(140, 108, 255, .48);
	content: "";
	pointer-events: none;
}

.product-details-description,
.product-details-information {
	padding: 26px;
	border-radius: var(--product-radius) var(--product-radius) 0 0;
}

.product-details-description::after,
.product-details-information::after {
	border-radius: 0;
}

.product-details-description {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.product-details-description.is-collapsible:not(.is-expanded) {
	align-self: start;
	height: var(--product-description-collapsed-height);
	border-radius: var(--product-radius) var(--product-radius) 0 0;
	overflow: hidden;
}

.product-details-description.is-collapsible:not(.is-expanded)::after {
	border-radius: 0;
}

.product-details-section-heading {
	display: grid;
	grid-template-columns: max-content minmax(28px, 1fr);
	align-items: center;
	gap: 14px;
	min-width: 0;
	margin: 0 0 24px;
}

.product-details-section-heading h2 {
	margin: 0;
	color: #f5f3ff;
	font-size: 22px;
	letter-spacing: .012em;
	line-height: 1.2;
}

.product-details-section-heading > span {
	height: 1px;
	background: rgba(140, 108, 255, .28);
}

.product-details-description__content {
	max-width: 100%;
	overflow-wrap: anywhere;
	color: #b6bed1;
	font-size: 15px;
	line-height: 1.74;
}

.product-details-description__reveal {
	position: absolute;
	z-index: 2;
	right: 1px;
	bottom: 2px;
	left: 1px;
	display: none;
	align-items: flex-end;
	justify-content: center;
	gap: 9px;
	height: 132px;
	padding: 60px 26px 22px;
	border: 0;
	border-radius: 0;
	color: #c8bdff;
	background: linear-gradient(180deg, rgba(9, 12, 27, 0), rgba(9, 12, 27, .82) 42%, rgba(9, 12, 27, .98) 72%, #090c1b 100%);
	opacity: 0;
	font: inherit;
	font-size: 14px;
	letter-spacing: .035em;
	line-height: 1;
	cursor: pointer;
	transition: color 160ms ease, text-shadow 160ms ease, opacity 320ms ease;
	will-change: opacity;
}

.product-details-description.is-collapsible:not(.is-expanded) .product-details-description__reveal {
	display: flex;
	opacity: 1;
}

.product-details-description.is-collapsible:not(.is-expanded) .product-details-description__content {
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 66%, rgba(0, 0, 0, .76) 75%, rgba(0, 0, 0, .28) 88%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 0%, #000 66%, rgba(0, 0, 0, .76) 75%, rgba(0, 0, 0, .28) 88%, transparent 100%);
}

.product-details-description__reveal > svg {
	display: block;
	width: 17px;
	height: 17px;
	fill: none;
	filter: drop-shadow(0 0 5px rgba(140, 108, 255, .26));
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.product-details-description__reveal:hover,
.product-details-description__reveal:focus-visible {
	color: #ffffff;
	text-shadow: 0 0 13px rgba(167, 143, 255, .72);
	outline: none;
}

.product-details-description.is-expanding {
	overflow: hidden;
	transition: height 440ms cubic-bezier(.4, 0, .2, 1);
}

.product-details-description.is-collapsible.is-expanding .product-details-description__content {
	overflow: visible;
	-webkit-mask-image: none;
	mask-image: none;
}

.product-details-description.is-collapsible.is-expanding .product-details-description__reveal {
	display: flex;
	opacity: 0;
	pointer-events: none;
}

.product-details-description__content > :first-child {
	margin-top: 0;
}

.product-details-description__content > :last-child {
	margin-bottom: 0;
}

.product-details-description__content :is(h1, h2, h3, h4) {
	margin: 1.55em 0 .65em;
	color: #f2f3fb;
	font-size: 1.26em;
	line-height: 1.35;
}

.product-details-description__content h2 {
	font-size: 1.44em;
}

.product-details-description__content a {
	color: #a99aff;
	text-decoration: underline;
	text-decoration-color: rgba(169, 154, 255, .36);
	text-underline-offset: 3px;
}

.product-details-description__content a:hover,
.product-details-description__content a:focus-visible {
	color: #d2caff;
	text-decoration-color: currentColor;
}

.product-details-description__content :is(ul, ol) {
	padding-left: 22px;
}

.product-details-description__content li + li {
	margin-top: 7px;
}

.product-details-description__content blockquote {
	position: relative;
	margin: 20px 0;
	padding: 14px 16px 14px 19px;
	border: 1px solid rgba(140, 108, 255, .2);
	border-radius: 3px;
	color: #c7c2d9;
	background: rgba(140, 108, 255, .04);
}

.product-details-description__content blockquote::before {
	position: absolute;
	top: -1px;
	bottom: -1px;
	left: -1px;
	width: 2px;
	background: var(--product-violet);
	box-shadow: 0 0 6px rgba(140, 108, 255, .42);
	content: "";
}

.product-details-description__content :is(img, video) {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
	border-radius: 3px;
}

.product-details-description__content iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 390px;
	border: 1px solid rgba(140, 108, 255, .24);
	border-radius: 3px;
	aspect-ratio: 16 / 9;
	background: #050711;
}

.product-details-description__content :is(pre, table) {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

.product-details-description__content pre {
	padding: 14px;
	border: 1px solid rgba(126, 144, 222, .2);
	border-radius: 3px;
	background: rgba(4, 6, 15, .72);
	font-family: "JetBrainsMono", "JetBrains Mono", monospace;
	font-size: 12px;
}

.product-details-description__content .ql-align-center {
	text-align: center;
}

.product-details-description__content .ql-align-right {
	text-align: right;
}

.product-details-description__content .ql-align-justify {
	text-align: justify;
}

.product-details-empty-state {
	margin: 0;
	padding: 24px;
	border: 1px dashed rgba(126, 144, 222, .26);
	border-radius: 3px;
	color: var(--product-muted-dark);
	font-size: 12px;
	text-align: center;
}

.product-details-information__list {
	display: grid;
}

.product-details-information-item {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) minmax(0, auto);
	align-items: center;
	gap: 11px;
	min-width: 0;
	padding: 13px 0;
	border-bottom: 1px solid rgba(140, 108, 255, .12);
}

.product-details-information-item:first-child {
	padding-top: 1px;
}

.product-details-information-item:last-child {
	border-bottom: 0;
}

.product-details-information-item > svg,
.product-details-information__dependencies-title > svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: none;
	color: #927cff;
	filter: drop-shadow(0 0 5px rgba(140, 108, 255, .22));
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.product-details-information-item > span,
.product-details-information__dependencies-title > span {
	min-width: 0;
	color: #9ba5bc;
	font-size: 14px;
	line-height: 1.35;
}

.product-details-information-item > strong {
	white-space: pre-wrap;
	max-width: 180px;
	overflow-wrap: anywhere;
	color: #eef0f8;
	font-size: 14px;
	line-height: 1.35;
	text-align: right;
}

.product-details-information__dependencies {
	margin-top: 6px;
	padding-top: 18px;
	border-top: 1px solid rgba(140, 108, 255, .18);
}

.product-details-information__custom p { margin: 12px 0 0; color: #eef0f8; font-size: 14px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.product-details-information__custom--right { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 11px; }
.product-details-information__custom--right p { margin: 0; text-align: right; }
.product-details-information__custom--right .product-details-information__dependencies-title { align-items: flex-start; }
.product-details-information__dependencies-title > span { overflow-wrap: anywhere; }

.product-details-information__dependencies-title {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
}

.product-details-information__dependency-links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 15px;
	padding: 13px 0 2px 33px;
}

.product-details-information__dependency-links :is(a, span) {
	position: relative;
	color: #a78fff;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	transition: color 150ms ease, text-shadow 150ms ease;
}

.product-details-information__dependency-links a:hover,
.product-details-information__dependency-links a:focus-visible {
	color: #ffffff;
	text-shadow: 0 0 13px rgba(167, 143, 255, .82);
	outline: none;
}

.product-details-information__dependency-links span {
	color: #8f7bd7;
}

.product-details-information__dependencies-empty {
	display: block;
	padding: 12px 0 0 33px;
	color: #7f89a0;
	font-size: 13px;
}

.product-details-information__rating {
	display: flex;
	justify-content: flex-end;
	margin-top: 22px;
	padding-top: 19px;
	border-top: 1px solid rgba(140, 108, 255, .18);
}

.product-details-info-like {
	min-height: 48px;
}

.product-details-info-like .profile-product-like__value {
	font-size: 27px;
}

.product-details-stars {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
}

.product-details-stars > span {
	display: grid;
	gap: 3px;
}

.product-details-stars > span strong {
	color: #ffffff;
	font-size: 25px;
	line-height: 1;
}

.product-details-stars > span small {
	color: var(--product-muted-dark);
	font-size: 9px;
	text-transform: uppercase;
}

.product-details-stars > div {
	display: flex;
	gap: 4px;
}

.product-details-stars__button {
	display: grid;
	width: 33px;
	height: 33px;
	min-height: 33px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(140, 108, 255, .2);
	border-radius: 3px;
	place-items: center;
	appearance: none;
	color: #746b96;
	background: rgba(8, 10, 23, .46);
	cursor: pointer;
	transition: border-color 150ms ease, color 150ms ease, box-shadow 150ms ease, filter 150ms ease;
}

.product-details-stars__button svg {
	width: 18px;
	height: 18px;
	fill: transparent;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.product-details-stars__button:hover,
.product-details-stars__button:focus-visible,
.product-details-stars__button.is-active {
	border-color: rgba(140, 108, 255, .64);
	color: #b7a6ff;
	box-shadow: 0 0 12px rgba(140, 108, 255, .12);
	filter: brightness(1.08);
}

.product-details-stars__button.is-active svg {
	fill: currentColor;
}

.product-details-stars__button.is-denied {
	animation: product-details-shake 260ms ease-out;
}

.product-details-comments-card {
	margin-top: 22px;
	overflow: visible;
}

.product-details-comments-card__header {
	padding: 22px 26px 20px;
	border-bottom: 1px solid rgba(140, 108, 255, .18);
}

.product-details-comments-card__header h2 {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
}

.product-details-comments-card__layout {
	display: block;
}

.product-details-comment-form {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 62px;
	align-items: stretch;
	gap: 14px;
	min-width: 0;
	padding: 18px 24px;
	border-bottom: 1px solid rgba(140, 108, 255, .16);
}

.product-details-comment-form__avatar {
	display: grid;
	align-self: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(140, 108, 255, .3);
	border-radius: 3px;
	place-items: center;
	overflow: hidden;
	color: #aa9ce7;
	background: rgba(140, 108, 255, .06);
	font-size: 16px;
}

.product-details-comment-form__avatar :is(img, span) {
	display: block;
	width: 100%;
	height: 100%;
}

.product-details-comment-form__avatar img {
	max-width: none;
	object-fit: cover;
}

.product-details-comment-form__avatar span {
	display: grid;
	place-items: center;
}

.product-details-comment-form__avatar svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.45;
}

.product-details-comment-form__field {
	position: relative;
	min-width: 0;
}

.product-details-comment-form textarea {
	display: block;
	width: 100%;
	height: 62px;
	min-height: 62px;
	max-height: 132px;
	padding: 12px 14px 24px;
	border: 1px solid rgba(126, 144, 222, .25);
	border-radius: 3px;
	outline: none;
	color: #edf0fa;
	background: rgba(5, 7, 17, .56);
	font: 400 13px/1.55 "GothamPro", "Gotham Pro", sans-serif;
	resize: vertical;
	transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.product-details-comment-form textarea::placeholder {
	color: #6f7991;
}

.product-details-comment-form textarea:focus {
	border-color: rgba(65, 207, 255, .56);
	background: rgba(7, 10, 22, .68);
	box-shadow: 0 0 14px rgba(65, 207, 255, .08);
}

.product-details-comment-form__field > span {
	position: absolute;
	right: 10px;
	bottom: 8px;
	color: #657089;
	font-family: "JetBrainsMono", "JetBrains Mono", monospace;
	font-size: 9px;
	pointer-events: none;
}

.product-details-comment-form__submit {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 62px;
	min-width: 62px;
	min-height: 62px;
	margin: 0;
	padding: 0 13px;
	border: 1px solid rgba(65, 207, 255, .3);
	border-radius: 3px;
	appearance: none;
	color: #9de8ff;
	background: rgba(65, 207, 255, .045);
	box-shadow: none;
	font-size: 10px;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color 140ms ease, color 140ms ease, box-shadow 140ms ease, filter 140ms ease;
}

.product-details-comment-form__submit::after {
	position: absolute;
	top: -1px;
	right: -1px;
	bottom: -1px;
	width: 2px;
	background: var(--product-cyan);
	box-shadow: 0 0 6px rgba(65, 207, 255, .45);
	content: "";
}

.product-details-comment-form__submit svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
}

.product-details-comment-form__submit:hover,
.product-details-comment-form__submit:focus-visible {
	border-color: rgba(65, 207, 255, .62);
	color: #d6f7ff;
	box-shadow: 0 0 14px rgba(65, 207, 255, .1);
	filter: brightness(1.08);
}

.product-details-comment-form__submit.is-loading {
	cursor: wait;
	opacity: .7;
}

.product-details-comment-form__submit.is-loading [data-comment-submit-label],
.product-details-comment-form__submit.is-loading > svg {
	display: none;
}

.product-details-comment-form__submit.is-loading .product-details-comment-form__spinner {
	display: block;
}

.product-details-comments {
	display: grid;
	align-content: start;
	min-width: 0;
	min-height: 178px;
	padding: 8px 24px 18px;
}

.product-details-comment {
	--comment-role-rgb: 140, 108, 255;
	--comment-nick-shine-strength: 1;
	--comment-nick-shine-near-opacity: .56;
	--comment-nick-shine-far-opacity: .28;
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	align-items: start;
	gap: 13px;
	min-width: 0;
	padding: 16px 0;
}

.product-details-comment::before {
	position: absolute;
	top: 16px;
	bottom: 16px;
	left: -24px;
	z-index: 3;
	width: 2px;
	background: rgb(var(--comment-role-rgb));
	box-shadow:
		0 0 8px rgba(var(--comment-role-rgb), .46),
		0 0 16px rgba(var(--comment-role-rgb), .18);
	content: "";
	pointer-events: none;
	transition:
		top 180ms ease-out,
		bottom 180ms ease-out,
		box-shadow 180ms ease-out;
}

.product-details-comment.is-reply-hovered::before {
	top: 0;
	bottom: 0;
	box-shadow:
		0 0 10px rgba(var(--comment-role-rgb), .72),
		0 0 22px rgba(var(--comment-role-rgb), .32);
}

.product-details-comment::after {
	position: absolute;
	right: -24px;
	bottom: 0;
	left: -24px;
	z-index: 2;
	height: 1px;
	background: rgba(126, 144, 222, .14);
	content: "";
	pointer-events: none;
}

.product-details-comment:last-child::after {
	display: none;
}

.product-details-comment__reply-frame {
	position: absolute;
	inset: 0 -24px;
	z-index: 0;
	border: 1px solid rgba(var(--comment-role-rgb), 0);
	background: rgba(var(--comment-role-rgb), 0);
	box-shadow: 0 0 0 rgba(var(--comment-role-rgb), 0);
	content: "";
	opacity: 0;
	pointer-events: auto;
	transition:
		opacity 160ms ease-out,
		border-color 160ms ease-out,
		background-color 160ms ease-out,
		box-shadow 160ms ease-out;
}

.product-details-comment:hover .product-details-comment__reply-frame {
	border-color: rgba(var(--comment-role-rgb), .38);
	background: rgba(var(--comment-role-rgb), .012);
	box-shadow: 0 0 12px rgba(var(--comment-role-rgb), .08);
	opacity: 1;
}

.product-details-comment.is-reply-hovered .product-details-comment__reply-frame {
	border-color: rgba(var(--comment-role-rgb), .76);
	background: rgba(var(--comment-role-rgb), .025);
	box-shadow:
		inset 0 0 18px rgba(var(--comment-role-rgb), .04),
		0 0 16px rgba(var(--comment-role-rgb), .16);
	opacity: 1;
}

.product-details-comment__actions {
	position: absolute;
	top: calc(50% + 14px);
	right: -27px;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-50%);
	transition: opacity 150ms ease-out;
}

.product-details-comment:hover .product-details-comment__actions,
.product-details-comment:focus-within .product-details-comment__actions {
	opacity: 1;
	pointer-events: auto;
}

.product-details-comment.is-editing .product-details-comment__actions {
	opacity: 0;
	pointer-events: none;
}

.product-details-comment__admin-actions {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.product-details-comment__admin-action {
	display: grid;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	appearance: none;
	place-items: center;
	color: #737f99;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	transition: color 150ms ease-out, filter 150ms ease-out, transform 150ms ease-out;
}

.product-details-comment__admin-action svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.product-details-comment__admin-action--edit:hover,
.product-details-comment__admin-action--edit:focus-visible {
	color: #a990ff;
	filter: drop-shadow(0 0 5px rgba(140, 108, 255, .72));
	outline: none;
}

.product-details-comment__admin-action--delete:hover,
.product-details-comment__admin-action--delete:focus-visible {
	color: #ff6877;
	filter: drop-shadow(0 0 5px rgba(255, 69, 85, .72));
	outline: none;
}

.product-details-comment__admin-action:active {
	transform: scale(.92);
}

.product-details-comment__reply {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 7px;
	height: 32px;
	min-height: 32px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid rgba(var(--comment-role-rgb), .42);
	border-radius: 0;
	appearance: none;
	color: color-mix(in srgb, rgb(var(--comment-role-rgb)) 72%, white);
	background: rgba(10, 12, 28, .82);
	box-shadow: 0 0 10px rgba(var(--comment-role-rgb), .1);
	backdrop-filter: blur(14px) saturate(135%);
	-webkit-backdrop-filter: blur(14px) saturate(135%);
	font: 400 10px/1 "GothamPro", "Gotham Pro", sans-serif;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		border-color 150ms ease-out,
		box-shadow 150ms ease-out,
		color 150ms ease-out,
		filter 150ms ease-out;
}

.product-details-comment__reply > span {
	display: block;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}

.product-details-comment__reply::after {
	position: absolute;
	top: -1px;
	right: -1px;
	bottom: -1px;
	z-index: 2;
	width: 3px;
	background: rgb(var(--comment-role-rgb));
	box-shadow: 0 0 6px rgba(var(--comment-role-rgb), .58);
	content: "";
	pointer-events: none;
}

.product-details-comment__reply svg {
	display: block;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 1.6;
}

.product-details-comment__reply:hover,
.product-details-comment__reply:focus-visible {
	border-color: rgba(var(--comment-role-rgb), .82);
	box-shadow: 0 0 14px rgba(var(--comment-role-rgb), .22);
	color: color-mix(in srgb, rgb(var(--comment-role-rgb)) 48%, white);
	filter: brightness(1.12);
	outline: none;
}

.product-details-comment__avatar,
.product-details-comment__body,
.product-details-comment time {
	position: relative;
	z-index: 1;
}

.product-details-comment-editor {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: stretch;
	gap: 8px;
	min-width: 0;
}

.product-details-comment-editor__field {
	position: relative;
	min-width: 0;
}

.product-details-comment-editor textarea {
	display: block;
	width: 100%;
	min-height: 72px;
	max-height: 180px;
	padding: 11px 13px 23px;
	border: 1px solid rgba(var(--comment-role-rgb), .38);
	border-radius: 0;
	outline: none;
	color: #e8ebf5;
	background: rgba(5, 7, 17, .62);
	box-shadow: inset 0 0 18px rgba(var(--comment-role-rgb), .025);
	font: 400 14px/1.55 "GothamPro", "Gotham Pro", sans-serif;
	resize: vertical;
	transition: border-color 150ms ease-out, box-shadow 150ms ease-out, background-color 150ms ease-out;
}

.product-details-comment-editor textarea:focus {
	border-color: rgba(var(--comment-role-rgb), .72);
	background: rgba(6, 8, 19, .76);
	box-shadow: 0 0 14px rgba(var(--comment-role-rgb), .1), inset 0 0 18px rgba(var(--comment-role-rgb), .035);
}

.product-details-comment-editor__counter {
	position: absolute;
	right: 9px;
	bottom: 7px;
	color: #667089;
	font: 400 9px/1 "JetBrainsMono", "JetBrains Mono", monospace;
	pointer-events: none;
}

.product-details-comment-editor__actions {
	display: grid;
	grid-template-rows: repeat(2, 1fr);
	align-items: stretch;
	gap: 4px;
}

.product-details-comment-editor__action {
	display: grid;
	width: 34px;
	min-width: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	appearance: none;
	place-items: center;
	color: #727d95;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	transition: color 150ms ease-out, filter 150ms ease-out, opacity 150ms ease-out;
}

.product-details-comment-editor__action svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 1.7;
}

.product-details-comment-editor__action--save:hover,
.product-details-comment-editor__action--save:focus-visible {
	color: #55e4a7;
	filter: drop-shadow(0 0 5px rgba(0, 219, 115, .68));
	outline: none;
}

.product-details-comment-editor__action--cancel:hover,
.product-details-comment-editor__action--cancel:focus-visible {
	color: #ff6877;
	filter: drop-shadow(0 0 5px rgba(255, 69, 85, .68));
	outline: none;
}

.product-details-comment-editor.is-pending,
.product-details-comment-editor__action:disabled {
	cursor: wait;
	opacity: .58;
}

.product-details-comment__avatar {
	display: grid;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(140, 108, 255, .3);
	border-radius: 3px;
	place-items: center;
	overflow: hidden;
	color: #aa9ce7;
	background: rgba(140, 108, 255, .06);
	font-size: 15px;
}

.product-details-comment__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.product-details-comment__body {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.product-details-comment__author {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
}

.product-details-comment__body strong {
	position: relative;
	z-index: 1;
	min-width: 0;
	overflow: visible;
	color: #f0f2fa;
	font-size: 15px;
	text-shadow: none;
	text-overflow: clip;
	transition: color 160ms ease-out, text-shadow 160ms ease-out;
	white-space: nowrap;
}

.product-details-comment.is-role-accented .product-details-comment__body strong {
	color: rgb(var(--comment-role-rgb));
	text-shadow:
		0 0 6px rgba(var(--comment-role-rgb), var(--comment-nick-shine-near-opacity)),
		0 0 14px rgba(var(--comment-role-rgb), var(--comment-nick-shine-far-opacity));
}

.product-details-comment__roles {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 5px;
}

.product-details-comment__body p {
	margin: 0;
	overflow-wrap: anywhere;
	color: #a9b1c5;
	font-size: 15px;
	line-height: 1.6;
	white-space: pre-wrap;
}

.product-details-comment time {
	color: #69748c;
	font-family: "GothamPro", "Gotham Pro", sans-serif;
	font-size: 11px;
	white-space: nowrap;
}

.product-details-comments__loading {
	display: grid;
	gap: 10px;
	padding-top: 14px;
}

.product-details-comments__loading span {
	display: block;
	height: 54px;
	border-radius: 3px;
	background: linear-gradient(90deg, rgba(126, 144, 222, .035), rgba(126, 144, 222, .08), rgba(126, 144, 222, .035));
	background-size: 200% 100%;
	animation: product-details-loading 1.2s linear infinite;
}

.product-details-comments__empty {
	display: grid;
	padding: 36px 20px 24px;
	place-items: center;
	color: var(--product-muted-dark);
	font-size: 15px;
	line-height: 1.55;
	text-align: center;
}

.product-details-comments__error {
	display: grid;
	min-height: 132px;
	padding: 28px;
	border: 1px dashed rgba(126, 144, 222, .25);
	border-radius: 3px;
	place-items: center;
	color: var(--product-muted-dark);
	font-size: 12px;
	text-align: center;
}

.product-details-comments__error {
	border-color: rgba(255, 69, 85, .26);
	color: #c58d96;
}

.product-details-comment-delete-modal__window {
	width: min(760px, 100%);
}

.product-details-comment-delete-modal__content {
	padding: 26px 30px 30px;
}

.product-details-comment-delete-modal__content .site-logout-modal__message {
	padding-bottom: 22px;
}

.product-details-comment-delete-modal__preview {
	margin-top: 20px;
	padding: 0 24px;
	border: 1px solid rgba(126, 144, 222, .2);
	background: linear-gradient(145deg, rgba(12, 16, 34, .72), rgba(7, 9, 21, .68));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 16px 34px rgba(0, 0, 0, .18);
}

.product-details-comment-delete-modal__preview .product-details-comment {
	min-height: 74px;
}

.product-details-comment-delete-modal__preview .product-details-comment::after {
	display: none;
}

.product-details-comment-delete-modal__preview + .site-logout-modal__actions {
	margin-top: 20px;
}

@keyframes product-details-spin {
	to { transform: rotate(360deg); }
}

@keyframes product-details-loading {
	to { background-position: -200% 0; }
}

@keyframes product-details-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-4px); }
	50% { transform: translateX(3px); }
	75% { transform: translateX(-2px); }
}

@media (max-width: 1040px) {
	.product-details-hero {
		min-height: 0;
		padding: calc(var(--site-header-height, 72px) + 44px) 0 72px;
		background-position: 43% center;
	}

	.product-details-hero__layout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		gap: 42px;
	}

	.product-details-hero__intro {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
		width: min(560px, 100%);
		margin: 0 auto;
	}

	.product-details-hero__primary {
		display: flex;
		grid-row: auto;
		grid-column: auto;
		width: 100%;
	}

	.product-details-hero__heading {
		grid-row: auto;
		grid-column: auto;
		max-width: none;
	}

	.product-details-avatar {
		width: min(430px, 100%);
	}

	.product-details-purchase-stack {
		width: min(430px, 100%);
	}

	.product-details-gallery-shell {
		grid-row: auto;
		grid-column: auto;
		width: 100%;
		margin-top: 8px;
	}
}

@media (max-width: 900px) {
	.product-details-overview {
		padding-top: 64px;
	}

	.product-details-overview__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.product-details-overview__aside {
		position: static;
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 720px) {
	.product-details-hero__container,
	.product-details-section-container {
		width: min(100% - 24px, 1240px);
	}

	.product-details-hero {
		padding: calc(var(--site-header-height, 64px) + 30px) 0 54px;
	}

	.product-details-hero__layout {
		gap: 34px;
	}

	.product-details-gallery__footer {
		justify-content: center;
	}

	.product-details-gallery__note {
		display: none;
	}

	.product-details-overview {
		padding: 54px 0;
	}

	.product-details-overview__aside {
		grid-template-columns: minmax(0, 1fr);
	}

	.product-details-comment-form {
		grid-template-columns: 42px minmax(0, 1fr) 62px;
		gap: 12px;
	}

	.product-details-comment-form__avatar {
		width: 42px;
		height: 42px;
	}

	.product-details-description__content iframe {
		min-height: 250px;
	}

}

@media (max-width: 380px) {
	.product-details-purchase-card:has(.product-details-purchase-card__prices--monthly) .product-details-purchase-card__value {
		gap: 6px;
		padding-inline: 7px;
	}

	.product-details-purchase-card__prices.product-details-purchase-card__prices--monthly {
		column-gap: 5px;
	}
}

@media (max-width: 520px) {
	.product-details-hero__heading h1 {
		font-size: 31px;
	}

	.product-details-avatar {
		width: 100%;
	}

	.product-details-purchase-card__value {
		gap: 8px;
		padding-inline: 11px;
	}

	.product-details-purchase-card__value > span {
		font-size: 9px;
	}

	.product-details-purchase-card__value strong,
	.product-details-purchase-card__prices strong {
		font-size: 20px;
	}

	.product-details-purchase-card--owned .product-details-purchase-card__value strong,
	.product-details-purchase-card--special .product-details-purchase-card__value strong,
	.product-details-purchase-card--installment-progress .product-details-purchase-card__value strong {
		font-size: 12px;
	}

	.product-details-purchase-card__prices {
		column-gap: 7px;
	}

	.product-details-purchase-card__prices del {
		font-size: 12px;
	}

	.product-details-gallery__control {
		width: 38px;
		height: 38px;
		min-height: 38px;
	}

	.product-details-gallery__control--previous {
		left: 8px;
	}

	.product-details-gallery__control--next {
		right: 8px;
	}

	.product-details-description,
	.product-details-information {
		padding: 20px 16px;
	}

	.product-details-information-item {
		grid-template-columns: 21px minmax(0, 1fr) minmax(min-content, auto);
		gap: 9px;
	}

	.product-details-information-item > strong {
		max-width: 150px;
	}

	.product-details-information__dependency-links,
	.product-details-information__dependencies-empty {
		padding-left: 30px;
	}

	.product-details-stars {
		align-items: flex-start;
		flex-direction: column;
	}

	.product-details-comments-card__header,
	.product-details-comment-form,
	.product-details-comments {
		padding-right: 16px;
		padding-left: 16px;
	}

	.product-details-comments-card__header h2 {
		font-size: 21px;
	}

	.product-details-comment-form {
		grid-template-columns: 38px minmax(0, 1fr);
		align-items: start;
	}

	.product-details-comment-form__avatar {
		grid-row: 1;
		grid-column: 1;
		width: 38px;
		height: 38px;
	}

	.product-details-comment-form__field {
		grid-row: 1;
		grid-column: 2;
	}

	.product-details-comment-form__submit {
		grid-row: 2;
		grid-column: 2;
		justify-self: end;
		width: 62px;
		min-height: 62px;
	}

	.product-details-comment::before {
		left: -16px;
	}

	.product-details-comment::after {
		right: -16px;
		left: -16px;
	}

	.product-details-comment__reply-frame {
		right: -16px;
		left: -16px;
	}

	.product-details-comment__actions {
		right: -19px;
	}

	.product-details-comment {
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 11px;
	}

	.product-details-comment__avatar {
		width: 38px;
		height: 38px;
	}

	.product-details-comment time {
		grid-column: 2;
		grid-row: 2;
		justify-self: start;
	}

	.product-details-description__content iframe {
		min-height: 210px;
	}
}

@media (hover: none) {
	.product-details-comment__actions {
		opacity: .86;
		pointer-events: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.product-details-page .page-shell *,
	.product-details-page .page-shell *::before,
	.product-details-page .page-shell *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
