.product-main {
	margin-top: var(--spacing-xl);
	margin-bottom: var(--spacing-xxl);
}

.product-main__layout {
	display: grid;
	grid-template-columns: 628px minmax(0, 1fr);
	grid-template-areas:
		"gallery intro"
		"gallery rest";
	column-gap: 110px; /* gap-110 from JSON */
	row-gap: 36px;
	align-items: start;
	width: 100%;
	max-width: 100%;
}

/* Product Gallery */
.product-gallery {
	grid-area: gallery;
	width: 628px;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.product-gallery__main {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: 268px;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	background-color: var(--color-gray-light);
	margin-bottom: 8px; /* gap-8 from JSON */
}

.product-gallery__main .swiper-wrapper {
	height: 100%;
}

.product-gallery__main .swiper-slide {
	height: 100%;
	position: relative;
}

.product-gallery__main .swiper-slide a {
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.product-gallery__main-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-gallery__video-wrap {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	background: #111;
}

.product-gallery__main-video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #111;
	vertical-align: top;
}

.product-gallery__thumb--video::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: 44px;
	height: 44px;
	margin: -22px 0 0 -22px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='18' viewBox='0 0 16 18' fill='none'%3E%3Cpath d='M15 7.268c1.333.77 1.333 2.694 0 3.464L3 17.794c-1.333.77-3-.192-3-1.732V1.938c0-1.54 1.667-2.502 3-1.732L15 7.268z' fill='%23fff'/%3E%3C/svg%3E") center no-repeat;
	pointer-events: none;
}

.product-gallery__thumb-video-fallback {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 80px;
	background: #2b2b2b;
}

.product-gallery__badge {
	position: absolute;
	top: 16px; /* x from JSON */
	left: 16px; /* y from JSON */
	padding: 5px 10px; /* padding from JSON */
	background-color: #FFFFFE; /* rgb(255, 255, 254) */
	border-radius: 8px; /* cornerRadius from JSON */
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 20px;
	color: var(--color-primary);
}

.product-gallery__thumbs {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: 268px;
	overflow: hidden;
}

.product-gallery__thumbs .swiper-wrapper {
	display: flex;
}

.product-gallery__thumbs .swiper-slide {
	width: auto;
	height: auto;
	margin-right: 8px;
	max-width: 100%;
}

.product-gallery__thumbs .swiper-slide:last-child {
	margin-right: 0;
}

.product-gallery__thumb {
	display: block;
	width: 100%;
	height: 100%;
	border: none;
	border-radius: 20px;
	overflow: hidden;
	background-color: var(--color-gray-light);
	cursor: pointer;
	padding: 0;
	transition: all 0.3s ease;
	position: relative;
}

.product-gallery__thumb::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 2px solid transparent;
	border-radius: 20px;
	transition: border-color 0.3s ease;
}

.product-gallery__thumb.swiper-slide-thumb-active::after {
	border-color: var(--color-accent);
}

.product-gallery__thumb:hover {
	opacity: 0.7;
}

.product-gallery__thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.product-gallery__button-prev,
.product-gallery__button-next {
	position: absolute;
	top: calc(50% - 20px);
	z-index: 1;
	width: 40px;
	height: 40px;
	background-color: var(--color-secondary);
	border: none;
	border-radius: 50%;
	color: var(--color-primary);
	transition: all 0.3s ease;
	cursor: pointer;
}
.product-gallery__button-prev:hover,
.product-gallery__button-next:hover {
	background-color: var(--color-primary);
	color: var(--color-secondary);
	border-color: var(--color-primary);
}
.product-gallery__button-prev {
	left: 5px;
}
.product-gallery__button-next {
	right: 5px;
}
/* Product Info */
.product-info {
	width: 458px; /* Right Container width from JSON */
	max-width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 36px; /* gap-36 from JSON */
}

.product-info--intro {
	grid-area: intro;
	gap: 36px;
}

.product-info--rest {
	grid-area: rest;
}

.product-info__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px; /* gap-12 from JSON */
}

/* Product Rating */
.product-rating {
	display: flex;
	align-items: center;
	gap: 12px; /* gap-12 from JSON */
}

.product-rating__icon {
	width: 24px; /* width from JSON */
	height: 24px; /* height from JSON */
	flex-shrink: 0;
}

.product-rating__value {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px; /* fontSize from JSON */
	font-weight: 400;
	line-height: 25px; /* lineHeight from JSON */
	color: var(--color-primary);
}

.product-rating__separator {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px;
	font-weight: 400;
	line-height: 25px;
	color: var(--color-primary);
	margin: 0 4px; /* gap-4 from JSON */
}

.product-rating__count {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px;
	font-weight: 400;
	line-height: 25px;
	color: var(--color-primary);
}

/* Product Status */
.product-status {
	display: flex;
	align-items: center;
	gap: 4px; /* gap-4 from JSON */
}

.product-status__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--color-accent);
}
.product-status__dot.available {
	background-color: #3BC21F; /* rgb(59, 194, 31) */
}

.product-status__text {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 400;
	line-height: 20px;
	color: var(--color-primary);
}

.product-info__title {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 24px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 28px; /* lineHeight from JSON */
	color: var(--color-primary);
	margin: 0;
}

.product-info__details {
	display: flex;
	flex-direction: column;
	gap: 36px; /* gap-36 from JSON */
}

/* Product Colors */
.product-colors {
	display: flex;
	flex-direction: column;
	gap: 16px; /* gap-16 from JSON */
}

.product-colors__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px; /* gap-16 from JSON */
}

.product-colors__title {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 20px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 24px; /* lineHeight from JSON */
	color: var(--color-primary);
	margin: 0;
}

.product-colors__count {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 14px; /* fontSize from JSON */
	font-weight: 400;
	line-height: 20px;
	color: var(--color-gray-dark); /* rgb(127, 128, 129) */
	text-decoration: none;
	border-bottom: 1px solid var(--color-gray-dark);
	transition: color 0.3s ease;
}

.product-colors__count:hover {
	color: var(--color-accent);
	border-bottom-color: var(--color-accent);
}

.product-colors__list {
	display: flex;
	gap: 12px; /* gap-12 from JSON */
	flex-wrap: wrap;
}

.product-colors__item {
	display: block;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1px solid var(--color-gray-medium);
	cursor: pointer;
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
	padding: 0;
	overflow: hidden;
	flex-shrink: 0;
}

.product-colors__item img,
.product-colors__item-fallback {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.product-colors__item--active {
	border-color: #FE6F3A;
	box-shadow: 0 0 0 2px #FE6F3A;
}

.product-colors__item:hover {
	transform: scale(1.1);
}

/* Product Specifications */
.product-specs {
	display: flex;
	flex-direction: column;
	gap: 16px; /* gap-16 from JSON */
}

.product-specs__title {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 20px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 24px; /* lineHeight from JSON */
	color: var(--color-primary);
	margin: 0;
}

.product-specs__list {
	display: flex;
	flex-direction: column;
	gap: 16px; /* gap between items */
}

.product-specs__item {
	display: flex;
	align-items: center;
	gap: 4px; /* gap-4 from JSON */
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px; /* fontSize from JSON */
	line-height: 24px; /* lineHeight from JSON */
	color: var(--color-primary);
}

.product-specs__name {
	min-width: 104px; /* Specification Name width from JSON */
}

.product-specs__dots {
	flex: 1;
	height: 14px; /* HorizontalBorder height from JSON */
	border-bottom: 1px dashed #DBDBDB; /* rgb(219, 219, 219) */
	margin: 0 4px;
}

.product-specs__value {
	min-width: 140px; /* Specification Value width from JSON */
	text-align: right;
	font-weight: 500; /* Medium */
}

.product-specs__all {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 400;
	line-height: 20px;
	color: var(--color-gray-dark); /* rgb(127, 128, 129) */
	text-decoration: none;
	border-bottom: 1px solid var(--color-gray-dark);
	align-self: flex-start;
	transition: color 0.3s ease;
}

.product-specs__all:hover {
	color: var(--color-accent);
	border-bottom-color: var(--color-accent);
}

/* Product Price */
.product-price {
	display: flex;
	align-items: center;
	gap: 32px;
	justify-content: space-between;
}

.product-price__info {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.product-price__label {
	font-family: var(--font-family-secondary); /* Raleway */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 400;
	line-height: 20px;
	color: var(--color-gray-dark); /* rgb(127, 128, 129) */
	text-align: center;
}

.product-price__value {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 24px; /* fontSize from JSON */
	font-weight: 700; /* Bold */
	line-height: 28px; /* lineHeight from JSON */
	color: var(--color-primary);
}

.product-price__button {
	width: 158px; /* button width from JSON */
	height: 50px; /* button height from JSON */
	padding: 12px 16px; /* padding from JSON */
	border: 1px solid var(--color-primary);
	border-radius: 20px; /* cornerRadius from JSON */
	background-color: transparent;
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 20px;
	color: var(--color-primary);
	cursor: pointer;
	transition: all 0.3s ease;
}

.product-price__button:hover {
	background-color: var(--color-primary);
	color: var(--color-secondary);
}

/* Product Tabs */
.product-tabs {
	margin-top: var(--spacing-xxl);
	margin-bottom: var(--spacing-xxl);
	scroll-margin-top: 96px;
}

.product-tabs__header {
	display: flex;
	gap: 24px; /* gap-24 from JSON */
	border-bottom: 1px solid #EBECED; /* rgb(235, 236, 237) */
	margin-bottom: 32px; /* gap-32 from JSON */
}

.product-tabs__tab {
	padding: 12px 0; /* paddingTop/paddingBottom from JSON */
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 24px; /* lineHeight from JSON */
	color: var(--color-gray-dark); /* rgb(127, 128, 129) */
	cursor: pointer;
	transition: all 0.3s ease;
	margin-bottom: -1px;
	white-space: nowrap;
}

.product-tabs__tab:hover {
	color: var(--color-primary);
}

.product-tabs__tab--active {
	color: var(--color-primary); /* #212121 */
	border-bottom-color: var(--color-primary);
}

/* Tab widths from JSON */
.product-tabs__tab[data-tab="description"] {
	width: 85px; /* Tab 3 width from JSON */
}

.product-tabs__tab[data-tab="specifications"] {
	width: 139px; /* Tab 23 width from JSON */
}

.product-tabs__tab[data-tab="structure"] {
	width: 176px; /* Tab 18 width from JSON */
}

.product-tabs__tab[data-tab="documents"] {
	width: 126px; /* Tab 4 width from JSON */
}

.product-tabs__tab[data-tab="reviews"] {
	width: 68px; /* Tab 14 width from JSON */
}

.product-tabs__tab[data-tab="delivery"] {
	width: 150px; /* Tab 21 width from JSON */
}

.product-tabs__tab[data-tab="gallery"] {
	width: 79px; /* Tab 16 width from JSON */
}

.product-tabs__content {
	position: relative;
}

.product-tabs__panel {
	display: none;
}

.product-tabs__panel--active {
	display: block;
}

.product-tabs__text {
	font-family: var(--font-family-primary);
	font-size: 16px;
	font-weight: 400;
	line-height: 20px;
	color: var(--color-primary);
	margin: 0;
}
.product-tabs__text h2,
.product-tabs__text h3,
.product-tabs__text h4 {
	margin-bottom: 20px;
}
.product-tabs__text p {
	margin-bottom: 15px;
}
.product-tabs__text p:last-child {
	margin-bottom: 0;
}
.product-tabs__text ul {
	margin-top: 10px;
	margin-left: 20px;
}
.product-tabs__text ul li {
	margin-bottom: 15px;
}
/* Product Specs Full */
.product-specs-full {
	margin-top: var(--spacing-md);
}

.product-specs-full__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.product-specs-full__list table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	font-family: var(--font-family-primary);
	font-size: 16px;
	line-height: 24px;
	color: var(--color-primary);
}

.product-specs-full__list table thead th {
	padding: 12px 16px;
	font-size: 18px;
	font-weight: 500;
	line-height: 24px;
	text-align: left;
	color: var(--color-primary);
	border-bottom: 1px solid var(--color-gray-medium, #DBDBDB);
}

.product-specs-full__list table thead th:last-child {
	text-align: right;
}

.product-specs-full__list table tbody td {
	padding: 12px 16px;
	vertical-align: top;
	border-bottom: 1px solid var(--color-gray-medium, #DBDBDB);
}

.product-specs-full__list table tbody tr:last-child td {
	border-bottom: none;
}

.product-specs-full__list table tbody td:first-child {
	width: 42%;
	font-weight: 400;
	color: var(--color-gray-dark, #7F8081);
}

.product-specs-full__list table tbody td:last-child {
	width: 58%;
	font-weight: 500;
	text-align: right;
	color: var(--color-primary);
}

.product-specs-full__list table tbody td p {
	margin: 0 0 8px;
}

.product-specs-full__list table tbody td p:last-child {
	margin-bottom: 0;
}

.product-specs-full__list > p,
.product-specs-full__list table + p {
	margin: 16px 0 0;
	font-family: var(--font-family-primary);
	font-size: 16px;
	line-height: 24px;
	color: var(--color-primary);
}

.product-specs-full__item {
	display: flex;
	align-items: center;
	gap: 4px;
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px;
	line-height: 24px;
	color: var(--color-primary);
}

.product-specs-full__name {
	min-width: 104px;
}

.product-specs-full__dots {
	flex: 1;
	height: 14px;
	border-bottom: 1px dashed #DBDBDB;
	margin: 0 4px;
}

.product-specs-full__value {
	min-width: 140px;
	text-align: right;
	font-weight: 500;
}

/* Product Reviews */
/* Product Reviews - Based on product.tab-reviews.figma.json */
.product-reviews {
	margin-top: var(--spacing-md);
}

.product-reviews__layout {
	display: flex;
	gap: 217px; /* gap-217 from JSON */
	align-items: flex-start;
}

.product-reviews__left {
	flex: 1;
	max-width: 652px; /* Left Column width from JSON */
}

.product-reviews__list {
	display: flex;
	flex-direction: column;
	gap: 24px; /* gap-24 from JSON */
	margin-bottom: 32px; /* gap-32 from JSON */
}

.product-reviews__item {
	width: 100%;
	padding-bottom: 24px; /* paddingBottom from JSON */
	border-bottom: 1px solid #EBECED; /* rgb(235, 236, 237) */
}

.product-reviews__item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.product-reviews__header {
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 4px;
	margin-bottom: 16px; /* gap-16 from JSON */
}

.product-reviews__user {
	display: flex;
	align-items: center;
	gap: 12px; /* gap-12 from JSON */
	width: 274px; /* Review Header width from JSON */
}

.product-reviews__avatar {
	width: 50px; /* width from JSON */
	height: 50px; /* height from JSON */
	border-radius: 28px; /* cornerRadius from JSON */
	background-color: #F9F9F9; /* rgb(249, 249, 249) */
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 20px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 24px;
	color: var(--color-gray-dark); /* rgb(127, 128, 129) */
	flex-shrink: 0;
}

.product-reviews__info {
	display: flex;
	flex-direction: column;
	gap: 2px; /* gap-2 from JSON */
	width: 212px; /* User Details width from JSON */
}

.product-reviews__name {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px; /* fontSize from JSON */
	font-weight: 600; /* SemiBold */
	line-height: 24px; /* lineHeight from JSON */
	color: var(--color-primary);
	margin: 0;
}

.product-reviews__date-container {
	display: flex;
	align-items: center;
	gap: 8px;
}

.product-reviews__date {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 20px; /* lineHeight from JSON */
	color: var(--color-gray-dark); /* rgb(127, 128, 129) */
}

.product-reviews__rating {
	display: flex;
	align-items: center;
	gap: 0;
	width: 98px;
	height: 18px;
}

.product-reviews__rating svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.product-reviews__content {
	display: flex;
	flex-direction: column;
	gap: 20px; /* gap-20 from JSON */
	width: 100%;
}

.product-reviews__text {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 400; /* Regular */
	line-height: 20px; /* lineHeight from JSON */
	color: var(--color-primary);
	margin: 0;
	width: 100%;
}

.product-reviews__read-more {
	color: var(--color-accent);
	text-decoration: underline;
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.product-reviews__read-more:hover {
	opacity: 0.7;
	text-decoration: underline;
}

.product-reviews__images {
	display: flex;
	gap: 12px; /* gap-12 from JSON */
	flex-wrap: wrap;
}

.product-reviews__image {
	width: 101px; /* width from JSON */
	height: 100px; /* height from JSON */
	border-radius: 16px; /* cornerRadius from JSON */
	object-fit: cover;
	background-color: var(--color-gray-light);
	flex-shrink: 0;
}

.product-reviews__image-more {
	width: 101px; /* width from JSON */
	height: 100px; /* height from JSON */
	border-radius: 16px; /* cornerRadius from JSON */
	background-color: rgba(0, 0, 0, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.product-reviews__image-more-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.8;
}

.product-reviews__image-more::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.2);
	z-index: 1;
}

.product-reviews__image-more-text {
	position: relative;
	z-index: 2;
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 20px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 24px; /* lineHeight from JSON */
	color: #FFFFFE; /* #fffffe */
}

/* Pagination */
.product-reviews__pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 10px;
	width: 100%;
}

.product-reviews__pagination-controls {
	display: flex;
	align-items: center;
	gap: 12px;
}

.product-reviews__pagination-prev,
.product-reviews__pagination-next {
	width: 20px; /* Icon width from JSON */
	height: 20px; /* Icon height from JSON */
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--color-primary);
	transition: opacity 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.product-reviews__pagination-prev:hover,
.product-reviews__pagination-next:hover {
	opacity: 0.7;
}

.product-reviews__pagination-numbers {
	display: flex;
	align-items: center;
	gap: 4px; /* gap-4 from JSON */
}

.product-reviews__pagination-number {
	width: 40px; /* Page Number width from JSON */
	height: 40px; /* Page Number height from JSON */
	border-radius: 100px; /* cornerRadius from JSON */
	background-color: #FFFFFE; /* #fffffe */
	border: none;
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 24px; /* lineHeight from JSON */
	color: var(--color-primary);
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-reviews__pagination-number:hover {
	background-color: #F9F9F9; /* rgb(249, 249, 249) */
}

.product-reviews__pagination-number--active {
	background-color: #F9F9F9; /* rgb(249, 249, 249) */
}

/* Right Column - Rating Summary */
.product-reviews__right {
	width: 326px; /* Right Column width from JSON */
	flex-shrink: 0;
}

.product-reviews__rating-summary {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.product-reviews__rating-header {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #EBECED;
}

.product-reviews__rating-stars-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
}

.product-reviews__rating-stars {
	display: flex;
	gap: 0;
}

.product-reviews__rating-stars svg {
	width: 32px;
	height: 32px;
	flex-shrink: 0;
}

.product-reviews__rating-score {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 24px; /* fontSize from JSON */
	font-weight: 700; /* Bold */
	line-height: 28px;
	color: var(--color-primary);
}

.product-reviews__rating-description {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 400; /* Regular */
	line-height: 20px;
	color: var(--color-primary);
	margin: 0;
}

.product-reviews__rating-breakdown {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.product-reviews__rating-breakdown-row {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 0;
}

.product-reviews__rating-breakdown-row:first-child {
	gap: 13px;
}

.product-reviews__rating-breakdown-row:not(:first-child) {
	gap: 8px;
}

.product-reviews__rating-breakdown-row:last-child {
	gap: 9px;
}

.product-reviews__rating-breakdown-label {
	font-family: var(--font-family-primary);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: var(--color-gray-dark);
	min-width: 60px;
}

.product-reviews__rating-breakdown-bar {
	flex: 1;
	height: 6px;
	background-color: #F9F9F9;
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}

.product-reviews__rating-breakdown-bar-fill {
	height: 100%;
	background-color: var(--color-accent, #FE6F3A);
	border-radius: 8px;
	transition: width 0.3s ease;
	min-width: 0;
}

.product-reviews__rating-breakdown-count {
	font-family: 'Nunito', sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
	color: var(--color-primary);
	text-align: right;
	min-width: 30px;
}

.product-reviews__button {
	width: 100%;
	height: 50px;
	padding: 12px 16px;
	border: 1px solid var(--color-primary);
	border-radius: 32px;
	background-color: transparent;
	font-family: var(--font-family-primary);
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
	color: var(--color-primary);
	cursor: pointer;
	transition: all 0.3s ease;
}

.product-reviews__button:hover {
	background-color: var(--color-primary);
	color: var(--color-secondary);
}

/* Product Documents */
.product-documents {
	margin-top: var(--spacing-md);
}

.product-documents__list {
	display: flex;
	flex-direction: column;
	gap: 12px; /* gap-12 from JSON */
	max-width: 405px; /* Document Container width from JSON */
}

.product-documents__item {
	display: flex;
	align-items: center;
	gap: 12px; /* gap-12 from JSON */
	padding: 0;
	background: transparent;
	border: none;
	text-decoration: none;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.product-documents__item:hover {
	opacity: 0.7;
}

.product-documents__icon {
	width: 22px; /* SVG width from JSON */
	height: 22px; /* SVG height from JSON */
	flex-shrink: 0;
}

.product-documents__info {
	display: flex;
	flex-direction: column;
	gap: 1px; /* gap-1 from JSON */
}

.product-documents__title {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px; /* fontSize from JSON */
	font-weight: 400; /* Regular */
	line-height: 24px; /* lineHeight from JSON */
	color: var(--color-primary);
}

.product-documents__size {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 14px; /* fontSize from JSON */
	font-weight: 400; /* Regular */
	line-height: 20px; /* lineHeight from JSON */
	color: rgba(0, 0, 0, 0.4); /* opacity 0.4 from JSON */
}

/* Product Delivery - Based on product.tab-delivery.figma.json */
.product-delivery {
	margin-top: var(--spacing-md);
}

.product-delivery__layout {
	display: flex;
	gap: 24px;
	align-items: flex-start;
}

.product-delivery__block {
	width: 50%;
	padding: 32px;
	background-color: #F9F9F9;
	border-radius: 29px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.product-delivery__title {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 24px; /* fontSize from JSON */
	font-weight: 600; /* SemiBold */
	line-height: 28px; /* lineHeight from JSON */
	color: var(--color-primary);
	margin: 0;
}

.product-delivery__content {
	display: flex;
	flex-direction: column;
	gap: 12px; /* gap-12 from JSON */
	flex: 1;
}

.product-delivery__text {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px; /* fontSize from JSON */
	font-weight: 400; /* Regular */
	line-height: 24px; /* lineHeight from JSON */
	color: var(--color-primary);
	margin: 0;
}
.product-delivery__text h3 {
	font-family: var(--font-family-primary);
	font-size: 24px;
	font-weight: 600;
	line-height: 28px;
	color: var(--color-primary);
	margin: 0 0 20px;
}
.product-delivery__text p {
	margin-bottom: 10px;
}
.product-delivery__text p:last-child {
	margin-bottom: 0;
}
/* Product Gallery Tab */
.product-gallery-tab {
	margin-top: var(--spacing-md);
}

.product-gallery-tab__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
}

.product-gallery-tab__image {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 8px;
	background-color: var(--color-gray-light);
}

/* Similar Products */
.similar-products {
	margin-top: var(--spacing-xxl);
	margin-bottom: var(--spacing-xxl);
}

.similar-products__title {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 32px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 32px; /* lineHeight from JSON */
	color: var(--color-primary);
	margin: 0 0 64px 0; /* gap-64 from JSON (y: 64) */
}

.similar-products__swiper {
	width: 100%;
	padding-bottom: 50px;
	position: relative;
}

.similar-products__swiper .swiper-slide {
	height: auto;
}

/* Product Card - Based on similar-products.figma.json */
.product-card {
	width: 100%;
	max-width: 410.67px; /* card width from JSON */
	height: 584px; /* card height from JSON */
	display: flex;
	flex-direction: column;
	background-color: var(--color-secondary);
	border-radius: 20px; /* cornerRadius from JSON */
	overflow: hidden;
}

.product-card__image {
	width: 100%;
	height: 270px; /* Picture height from JSON */
	position: relative;
	background-color: var(--color-gray-light);
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}

.product-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-card__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 20px; /* approximate padding */
	gap: 12px; /* gap-12 from JSON */
}

.product-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px; /* gap-12 from JSON */
	margin-bottom: 12px; /* gap-12 from JSON */
}

.product-card__rating {
	display: flex;
	align-items: center;
	gap: 12px; /* gap-12 from JSON */
}

.product-card__rating-icon {
	width: 24px; /* width from JSON */
	height: 24px; /* height from JSON */
	flex-shrink: 0;
}

.product-card__rating-value {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 400; /* Regular */
	line-height: 20px; /* lineHeight from JSON */
	color: var(--color-primary);
}

.product-card__rating-separator {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px;
	font-weight: 400;
	line-height: 20px;
	color: var(--color-primary);
	margin: 0 4px; /* gap-4 from JSON */
}

.product-card__rating-count {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px;
	font-weight: 400;
	line-height: 20px;
	color: var(--color-primary);
}

.product-card__status {
	display: flex;
	align-items: center;
	gap: 8px; /* gap-8 from JSON */
}

.product-card__status-dot {
	width: 8px; /* Ellipse width from JSON */
	height: 8px; /* Ellipse height from JSON */
	border-radius: 50%;
	background-color: #3BC21F; /* rgb(59, 194, 31) */
}

.product-card__status-text {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 400;
	line-height: 20px;
	color: var(--color-primary);
}

.product-card__title {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 18px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 24px; /* lineHeight from JSON */
	color: var(--color-primary);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 48px; /* Catalog Item Title height from JSON */
}

.product-card__specs {
	display: flex;
	flex-direction: column;
	gap: 16px; /* gap between items */
	margin-bottom: 12px; /* gap-12 from JSON */
}

.product-card__spec {
	display: flex;
	align-items: center;
	gap: 4px; /* gap-4 from JSON */
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	line-height: 20px; /* lineHeight from JSON */
	color: var(--color-primary);
}

.product-card__spec-name {
	min-width: 78px; /* Specification Name width from JSON */
}

.product-card__spec-dots {
	flex: 1;
	height: 14px; /* HorizontalBorder height from JSON */
	border-bottom: 1px dashed #DBDBDB; /* rgb(219, 219, 219) */
	margin: 0 4px;
}

.product-card__spec-value {
	min-width: 124px; /* Specification Value width from JSON */
	text-align: right;
	font-weight: 400; /* Regular */
}

.product-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px; /* gap-32 from JSON */
	margin-top: auto;
	padding-top: 20px; /* approximate padding */
}

.product-card__price {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.product-card__price-label {
	font-family: var(--font-family-secondary); /* Raleway */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 400;
	line-height: 20px;
	color: var(--color-gray-dark); /* rgb(127, 128, 129) */
	text-align: center;
}

.product-card__price-value {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 24px; /* fontSize from JSON */
	font-weight: 700; /* Bold */
	line-height: 28px; /* lineHeight from JSON */
	color: var(--color-primary);
}

.product-card__button {
	width: 158px; /* button width from JSON */
	height: 50px; /* button height from JSON */
	padding: 12px 16px; /* padding from JSON */
	border: 1px solid var(--color-primary);
	border-radius: 20px; /* cornerRadius from JSON */
	background-color: transparent;
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 16px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 20px;
	color: var(--color-primary);
	cursor: pointer;
	transition: all 0.3s ease;
	white-space: nowrap;
}

.product-card__button:hover {
	background-color: var(--color-primary);
	color: var(--color-secondary);
}

/* Swiper Navigation Buttons */
.similar-products__button-next,
.similar-products__button-prev {
	width: 50px;
	height: 50px;
	background-color: var(--color-secondary);
	border: 1px solid var(--color-gray-medium);
	border-radius: 50%;
	color: var(--color-primary);
	transition: all 0.3s ease;
}

.similar-products__button-next:hover,
.similar-products__button-prev:hover {
	background-color: var(--color-primary);
	color: var(--color-secondary);
	border-color: var(--color-primary);
}

.similar-products__button-next::after,
.similar-products__button-prev::after {
	font-size: 20px;
	font-weight: 700;
}

.similar-products__button-next {
	right: 0;
}

.similar-products__button-prev {
	left: 0;
}

/* Responsive Styles */
@media (max-width: 992px) {
	.product-main__layout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"intro"
			"gallery"
			"rest";
		column-gap: 0;
		row-gap: var(--spacing-xl);
	}

	.product-gallery {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.product-info,
	.product-info--intro,
	.product-info--rest {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.similar-products__swiper {
		padding-bottom: 60px;
	}

	.similar-products__button-next,
	.similar-products__button-prev {
		width: 40px;
		height: 40px;
	}
}

@media (max-width: 768px) {
	.product-main {
		margin-top: var(--spacing-lg);
		margin-bottom: var(--spacing-xl);
	}

	.product-gallery__main {
		height: 300px;
	}

	.product-info__title {
		font-size: var(--font-size-h3);
	}

	.similar-products__swiper {
		padding-bottom: 70px;
	}

	.product-card {
		max-width: 100%;
	}

	.similar-products__button-next,
	.similar-products__button-prev {
		width: 36px;
		height: 36px;
	}
}

/* Mobile styles based on product.mobile.figma.json (375px width) */
@media (max-width: 480px) {
	.page__container {
		padding: 0 16px; /* padding from JSON */
	}

	.breadcrumbs {
		margin-bottom: 24px; /* gap-24 from JSON */
		font-size: 14px; /* fontSize from JSON */
	}

	.page__title {
		font-size: 20px; /* fontSize from JSON */
		font-weight: 600; /* SemiBold */
		line-height: 24px;
		margin-bottom: 24px; /* gap-24 from JSON */
	}

	.product-main {
		margin-top: 0;
		margin-bottom: var(--spacing-lg);
	}

	.product-main__layout {
		row-gap: 24px; /* gap-24 from JSON */
	}

	.product-gallery {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.product-gallery__main {
		width: 100%;
		height: 264px; /* height from JSON */
		margin-bottom: 8px; /* gap-8 from JSON */
	}

	.product-gallery__badge {
		top: 10px;
		left: 10px;
		padding: 5px 10px; /* padding from JSON */
		font-size: 16px; /* fontSize from JSON */
	}

	.product-gallery__thumbs {
		gap: 8px; /* gap-8 from JSON */
	}

	.product-gallery__thumb {
		width: 60px;
		height: 60px;
	}

	.product-info,
	.product-info--intro,
	.product-info--rest {
		width: 100%;
		max-width: 100%;
		gap: 24px; /* gap-24 from JSON */
	}

	.product-info__header {
		gap: 12px; /* gap-12 from JSON */
	}

	.product-rating {
		gap: 12px; /* gap-12 from JSON */
	}

	.product-rating__icon {
		width: 24px; /* width from JSON */
		height: 24px; /* height from JSON */
	}

	.product-rating__value {
		font-size: 16px; /* fontSize from JSON */
		line-height: 20px;
	}

	.product-rating__separator {
		font-size: 18px; /* fontSize from JSON */
		line-height: 25px;
	}

	.product-rating__count {
		font-size: 16px; /* fontSize from JSON */
		line-height: 20px;
	}

	.product-status {
		gap: 4px; /* gap-4 from JSON */
	}

	.product-status__dot {
		width: 8px; /* width from JSON */
		height: 8px; /* height from JSON */
	}

	.product-status__text {
		font-size: 16px; /* fontSize from JSON */
		line-height: 20px;
	}

	.product-info__title {
		font-size: 20px; /* fontSize from JSON */
		font-weight: 600; /* SemiBold */
		line-height: 24px; /* lineHeight from JSON */
	}

	.product-info__details {
		gap: 24px; /* gap-24 from JSON */
	}

	.product-colors {
		gap: 16px; /* gap-16 from JSON */
	}

	.product-colors__title {
		font-size: 18px; /* approximate */
		line-height: 24px;
	}

	.product-specs {
		gap: 16px; /* gap-16 from JSON */
	}

	.product-specs__title {
		font-size: 18px; /* approximate */
		line-height: 24px;
	}

	.product-specs__item {
		font-size: 16px; /* approximate */
		line-height: 20px;
	}

	.product-specs-full__list {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.product-specs-full__list > table,
	.product-specs-full__list table {
		min-width: 560px;
		font-size: 14px;
		line-height: 20px;
	}

	.product-specs-full__list > table thead th,
	.product-specs-full__list table thead th {
		padding: 10px 12px;
		font-size: 16px;
		line-height: 20px;
	}

	.product-specs-full__list > table tbody td,
	.product-specs-full__list table tbody td {
		padding: 10px 12px;
	}

	.product-specs-full__list > p {
		font-size: 14px;
		line-height: 20px;
	}

	.product-price {
		flex-direction: column;
		align-items: stretch;
		gap: 16px; /* gap-16 from JSON */
	}

	.product-price__info {
		align-items: flex-start;
	}

	.product-price__label {
		text-align: left;
		font-size: 14px; /* approximate */
	}

	.product-price__value {
		font-size: 20px; /* approximate */
		line-height: 24px;
	}

	.product-price__button {
		width: 100%;
		max-width: 343px; /* width from JSON */
	}

	.product-tabs {
		margin-top: var(--spacing-xl);
		margin-bottom: var(--spacing-xl);
	}

	.product-tabs__header {
		flex-wrap: wrap;
		gap: var(--spacing-sm);
	}

	.product-tabs__header {
		flex-wrap: wrap;
		gap: var(--spacing-sm);
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.product-tabs__tab {
		font-size: 16px; /* approximate */
		line-height: 20px;
		min-width: auto;
		flex-shrink: 0;
	}

	.product-tabs__tab[data-tab="description"],
	.product-tabs__tab[data-tab="specifications"],
	.product-tabs__tab[data-tab="structure"],
	.product-tabs__tab[data-tab="documents"],
	.product-tabs__tab[data-tab="reviews"],
	.product-tabs__tab[data-tab="delivery"],
	.product-tabs__tab[data-tab="gallery"] {
		width: auto;
		padding: 8px 12px;
	}

	.product-tabs__text {
		max-width: 100%;
	}

	.product-documents__list {
		max-width: 100%;
	}

	.product-gallery-tab__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.product-gallery-tab__image {
		height: 150px;
	}

	.product-reviews__layout {
		flex-direction: column;
		gap: 24px;
	}

	.product-reviews__left {
		max-width: 100%;
	}

	.product-reviews__right {
		width: 100%;
	}

	.product-reviews__user {
		width: 100%;
	}

	.product-reviews__info {
		width: auto;
		flex: 1;
	}

	.product-reviews__date-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.product-reviews__rating {
		width: auto;
	}

	.product-reviews__images {
		flex-wrap: wrap;
	}

	.product-reviews__image,
	.product-reviews__image-more {
		width: calc((100% - 24px) / 3);
		min-width: 80px;
		height: 80px;
	}

	.product-reviews__rating-stars-container {
		flex-direction: column;
		gap: 10px;
		align-items: flex-start;
	}

	.product-reviews__rating-breakdown-row {
		gap: 8px;
	}

	.product-reviews__rating-breakdown-label {
		min-width: 50px;
		font-size: 12px;
	}

	.product-reviews__rating-breakdown-count {
		font-size: 14px;
		min-width: 25px;
	}

	.product-delivery__layout {
		flex-direction: column;
		gap: 16px;
	}

	.product-delivery__block {
		width: 100%;
		height: auto;
		min-height: 200px;
	}

	.similar-products__title {
		font-size: 24px; /* approximate */
		line-height: 28px;
	}
}

@media (max-width: 428px) {
	.product-gallery__main {
		height: 264px;
	}

	.product-gallery__thumb {
		width: 60px;
		height: 60px;
	}
}


.product-gallery-tab__container {
	display: flex;
	flex-direction: column;
	gap: 12px; /* gap-12 from JSON */
}

.product-gallery-tab__main-swiper {
	width: 100%;
	height: 544px; /* height from JSON */
	border-radius: 20px; /* cornerRadius from JSON */
	overflow: hidden;
}

.product-gallery-tab__main-swiper .swiper-slide {
	width: 100%;
	height: 100%;
}

.product-gallery-tab__link {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.product-gallery-tab__main-image {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	border-radius: 20px;
}

.product-gallery-tab__main-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-gallery-tab__overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 186px; /* height from JSON */
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 42%, rgba(0, 0, 0, 0.65) 100%);
	display: flex;
	align-items: flex-end;
	padding: 36px; /* padding from JSON */
}

.product-gallery-tab__main-title {
	font-family: var(--font-family-primary); /* Nunito Sans */
	font-size: 24px; /* fontSize from JSON */
	font-weight: 500; /* Medium */
	line-height: 28px; /* lineHeight from JSON */
	color: var(--color-secondary);
	margin: 0;
}

.product-gallery-tab__thumbs-swiper {
	width: 100%;
	height: auto;
}

.product-gallery-tab__thumbs-swiper .swiper-wrapper {
	display: flex;
	gap: 12px; /* gap-12 from JSON */
}

.product-gallery-tab__thumbs-swiper .swiper-slide {
	width: 120px; /* width from JSON */
	height: 120px; /* height from JSON */
	cursor: pointer;
	opacity: 0.6;
	transition: opacity 0.3s ease;
}

.product-gallery-tab__thumbs-swiper .swiper-slide-thumb-active {
	opacity: 1;
}

.product-gallery-tab__thumb {
	width: 100%;
	height: 100%;
	border-radius: 20px;
	overflow: hidden;
	max-width: 120px;
}

.product-gallery-tab__thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

@media (max-width: 480px) {

	.product-gallery-tab__main-swiper {
		height: 395px; /* height from JSON */
	}

	.product-gallery-tab__thumbs-swiper .swiper-slide {
		width: 100px; /* width from JSON */
		height: 100px; /* height from JSON */
	}
}

.product-reviews--empty {
	display: flex;
	justify-content: center;
}

.product-reviews__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	max-width: 408px;
	margin: 0 auto;
	text-align: center;
}

.product-reviews__empty-title {
	font-family: var(--font-family-primary);
	font-size: 24px;
	font-weight: 600;
	line-height: 28px;
	color: var(--color-primary);
	margin: 0;
}

.product-reviews__empty-text {
	font-family: var(--font-family-primary);
	font-size: 16px;
	font-weight: 400;
	line-height: 20px;
	color: var(--color-primary);
	margin: 0;
}

.product-reviews__text-full {
	display: none;
}

.product-reviews__text--expanded .product-reviews__text-short {
	display: none;
}

.product-reviews__text--expanded .product-reviews__text-full {
	display: inline;
}

.product-reviews__image-link {
	display: block;
	flex-shrink: 0;
}

.product-reviews__image-link--video::after {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.92) url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 3L12 8L4 13V3Z' fill='%23212121'/%3E%3C/svg%3E") center center no-repeat;
	border-radius: 50%;
}

.product-reviews__image-link--video {
	position: relative;
}

.product-reviews__pagination-prev,
.product-reviews__pagination-next,
.product-reviews__pagination-number {
	text-decoration: none;
	color: inherit;
}

.product-reviews__pagination-prev--disabled,
.product-reviews__pagination-next--disabled {
	opacity: 0.35;
	pointer-events: none;
}

.product-reviews__left--loading {
	opacity: 0.55;
	pointer-events: none;
}

.product-reviews__summary-stars svg,
.product-reviews__rating-stars svg {
	display: inline-block;
	vertical-align: top;
}

.product-reviews-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
}

.product-reviews-modal[hidden] {
	display: none;
}

.product-reviews-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.32);
	backdrop-filter: blur(20px);
}

.product-reviews-modal__dialog {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(500px, calc(100% - 32px));
	max-height: calc(100vh - 32px);
	overflow: auto;
	background: #fffffe;
	border-radius: 20px;
	padding: 24px;
}

.product-reviews-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 20px;
	height: 20px;
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
	color: var(--color-primary);
}

.product-reviews-modal__title {
	font-family: var(--font-family-primary);
	font-size: 24px;
	font-weight: 600;
	line-height: 28px;
	color: var(--color-primary);
	margin: 0 0 8px;
}

.product-reviews-modal__product {
	font-family: var(--font-family-primary);
	font-size: 16px;
	font-weight: 400;
	line-height: 20px;
	color: var(--color-primary);
	margin: 0;
}

.product-reviews-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 20px;
}

.product-reviews-form__rating {
	display: flex;
	align-items: center;
	gap: 12px;
}

.product-reviews-form__rating-label {
	font-size: 16px;
	line-height: 20px;
	color: var(--color-gray-dark, #7f8081);
}

.product-reviews-form__stars {
	display: flex;
	gap: 4px;
}

.product-reviews-form__star {
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
}

.product-reviews-form__field {
	display: block;
}

.product-reviews-form__input,
.product-reviews-form__textarea {
	width: 100%;
	border: 1px solid #dbdbdb;
	border-radius: 12px;
	padding: 12px 20px;
	font-family: var(--font-family-primary);
	font-size: 16px;
	line-height: 20px;
	color: var(--color-primary);
	background: #fffffe;
}

.product-reviews-form__textarea {
	min-height: 145px;
	resize: vertical;
}

.product-reviews-form__upload {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 142px;
	border: 1px dashed #dbdbdb;
	border-radius: 12px;
	cursor: pointer;
	text-align: center;
	padding: 16px;
}

.product-reviews-form__upload-title {
	font-size: 16px;
	line-height: 20px;
	color: var(--color-primary);
}

.product-reviews-form__upload-note {
	font-size: 14px;
	line-height: 20px;
	color: var(--color-gray-dark, #7f8081);
}

.product-reviews-form__files-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.product-reviews-form__preview-item {
	width: calc(14.28% - 4px);
	min-width: 55px;
	height: 55px;
	border-radius: 12px;
	overflow: hidden;
	background: #f9f9f9;
}

.product-reviews-form__preview-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.product-reviews-form__submit {
	width: 100%;
	height: 50px;
	border: 0;
	border-radius: 20px;
	background: var(--color-primary);
	color: #fffffe;
	font-family: var(--font-family-primary);
	font-size: 18px;
	font-weight: 500;
	line-height: 24px;
	cursor: pointer;
}

.product-reviews-form__submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.product-reviews-form__message {
	font-size: 14px;
	line-height: 18px;
}

.product-reviews-form__message--error {
	color: #d32f2f;
}

.product-reviews-form__message--success {
	color: #2e7d32;
}

body.product-reviews-modal-open {
	overflow: hidden;
}

.product-structure img {
	max-width: 100%;
}

.catalog-section__description {
	margin-top: 100px;
	padding-top: 0;
}

.catalog-section__description-text {
	font-family: var(--font-family-primary);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-primary);
	margin: 0;
}

.catalog-section__description-text p {
	margin: 0 0 15px;
}

.catalog-section__description-text p:last-child {
	margin-bottom: 0;
}

.catalog-section__description-text a {
	color: var(--color-accent);
	text-decoration: none;
}

.catalog-section__description-text a:hover {
	opacity: 0.7;
	text-decoration: underline;
}

@media (max-width: 768px) {
	.catalog-section__description {
		margin-top: 50px;
	}

	.catalog-section__description-text {
		font-size: 14px;
	}
}
@media (max-width: 480px) {
	.similar-products__swiper .product-card-slide.swiper-slide {
		/*max-width: 220px;*/
	}
}