.review { border-bottom: 1px solid #ccc; padding: 10px 0; }
.review-rating { font-size: 18px; color: gold; display: flex; margin-bottom: 8px}
.review-pros, .review-cons{ margin: 5px 0; }
.review-top{
	margin-bottom: 20px;
}
.review-text{
	margin-bottom: 20px;
}
.review-text strong{
	color: var(--Black, #232323);

/* Paragraph - Semibold */
font-family: Roboto;
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 24px; /* 150% */
display: block;
margin-bottom: 8px;
}
.review-text p{
	color: var(--Black, #232323);

margin: 0;
font-family: Roboto;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 24px;
}
.review-likes span { cursor: pointer; margin-right: 10px; }
.star-rating span { cursor: pointer; font-size: 24px; color: #ccc; }
.star-rating span.active { color: gold; }
.review-filters { margin: 10px 0; }
.admin-reply { 
	padding: 20px; 
	margin-top: 30px;
	border-radius: 10px;
	background: var(--Background, rgba(0, 0, 0, 0.03)); 
	max-width: 683px;
	
}
.admin-edit-link{
	text-decoration: none;
}
#review-form .rating-title {
	color: var(--Black, #232323);
	font-family: Roboto;
	font-size: 26px;
	font-style: normal;
	font-weight: 600;
	line-height: 32px;
	margin-bottom: 10px;
}

#review-form .rating-product-title {
	color: var(--Grey, #868686);
	font-family: Roboto;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px;
	margin-bottom: 31px;
}

#review-form .review-rating {
	display: flex;
	flex-wrap: wrap;
	gap:0 20px;
	align-items: center;
	margin-bottom: 30px;

}
#review-form .review-rating label{
	color: var(--Black, #232323);
	font-family: Roboto;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}

#review-form .star-rating label span{

}

#review-form .form-group {
	display: flex;
	flex-wrap: wrap;
}

#review-form .form-group textarea{
	color: var(--Black, #232323);
font-family: Roboto;
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: 24px; /* 133.333% */
width: 100%;
padding: 14px;
border-radius: 10px;
border: 1px solid var(--Divider, #DBDBDB);
margin-bottom: 20px;
height: 124px;
}
#review-form .form-group textarea::placeholder {
	color: var(--Grey, #868686);	
}

#review-form .file-upload-block {
	border-radius: 10px;
border: 1px dashed var(--Divider, #DBDBDB);
padding: 28px;
width: 100%;
text-align: center;
}
.file-upload-flex{
	display: flex;
	flex-wrap: wrap;
	gap:0 40px;
	justify-content: center;
}
.file-upload-img{

}
.file-upload-data{

}
.file-upload-data-text1{
	text-align: left;
	color: var(--Black, #232323);
	font-family: Roboto;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}
.file-upload-data-text2{
color: var(--Grey, #868686);
font-family: Roboto;
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 24px;
}
.file-upload-block-tip{
	color: var(--Grey, #868686);

/* Small - Text */
font-family: Roboto;
font-size: 13px;
font-style: normal;
font-weight: 400;
line-height: 18px; /* 138.462% */
margin-top:10px;
margin-bottom: 40px;
}
#review-form{
	border-radius: 20px;
	background: #FFF;
	padding: 40px;
	max-width: 720px;
}

#review-form .rating-form-title {
	color: var(--Black, #232323);

/* H3 - Title */
font-family: Roboto;
font-size: 20px;
font-style: normal;
font-weight: 600;
line-height: 24px; /* 120% */
margin-bottom: 10px;

}

#review-form .rating-form-desc {
	color: var(--Grey, #868686);
margin-bottom:10px;
font-family: Roboto;
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 24px; /* 160% */
}
#review-form .form-flex{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 20px;
}
#review-form .form-flex.col2{
	gap:0 20px;
	margin-bottom: 0;
	flex:1;
}
#review-form .form-group{
	width: 100%;
}
#review-form .form-flex.col2 .form-group{
	flex:1;
}
#review-form .form-flex .form-group input{
	width: 100%;
}

#review-form .form-group input[type="text"], #review-form .form-group input[type="tel"]{
	border-radius: 10px;
	border: 1px solid var(--Divider, #DBDBDB);
	padding: 11px;
	color: var(--Black, #232323);
	font-family: Roboto;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}
#review-form .form-group input[type="text"]:placeholder, #review-form .form-group input[type="tel"]:placeholder{
	color: var(--Grey, #868686);
}
#review-form .rationg-form-tip {
	color: var(--Grey, #868686);
	font-family: Roboto;
	font-size: 13px;
	font-style: normal;
	font-weight: 400;
	line-height: 18px;
	margin-top:10px;
	margin-bottom: 30px;
}

#review-form button[type="submit"]{
	color: var(--White, #FFF);
width:210px;
font-family: Roboto;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 24px; /* 150% */
padding: 15px;
border-radius: 8px;
background: var(--Primary, #04AF53);
box-shadow: none;
border: 0;
cursor: pointer;
}
#review-form button[type="submit"]:hover{
	
}

#review-form .submit-rating-tip {
	margin-top: 20px;
	color: var(--Grey, #868686);

/* Small - Text */
font-family: Roboto;
font-size: 13px;
font-style: normal;
font-weight: 400;
line-height: 18px; /* 138.462% */
}
#drop-area {
  position: relative;
  cursor: pointer;
}
#fileElem {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  cursor: pointer;
}
#file-trigger {
  position: relative;
  z-index: 1;
}
#preview-thumbnails {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}
.preview-thumb {
  position: relative;
  width: 100px;
  height: 100px;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #ddd;
  background-color: #f9f9f9;
  animation: fadeIn 0.3s ease-in-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes fadeOut {
  from { opacity: 1; transform: scale(1); }
  to { opacity: 0; transform: scale(0.9); }
}
.preview-thumb img,
.preview-thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.remove-thumb {
  position: absolute;
  top: 5px;
  right: 5px;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 18px;
  cursor: pointer;
  z-index: 2;
}
.progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 4px;
  background: #04AF53;
}
#file-errors {
  margin-top: 10px;
  color: red;
  font-size: 14px;
  font-family: Roboto, sans-serif;
}
.star-rating span {
  cursor: pointer;
  display: inline-block;
}
.star-rating svg path{
  transition: fill 0.2s ease;
}
#review-form .phone-1{
	padding: 5px 10px;
	height: 48px;
	border: 1px solid #DBDBDB;
	border-left-color: rgb(219, 219, 219);
	border-left-style: solid;
	border-left-width: 1px;
	border-radius: 0 10px 10px 0;
	width: 100%;
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	color: #232323;
	border-left: none !important;
	max-width: calc(100% - 63px);
}
#review-form .phone-1::placeholder{
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	color: #232323 !important;
	opacity: 1;
}
#review-form .form-block{
	display: flex;
	flex-wrap: wrap;
	position: relative;
	width: 100%;
}
.review-gallery.swiper .swiper-slide a{
	display: flex;
}
.review-gallery.swiper .swiper-slide img{
	width: 100px;
	border-radius: 10px;
}
.review-media.swiper .swiper-slide img{
	width: 100px;
	border-radius: 10px;
}
/* summary */
.reviews-summary{flex-wrap:wrap;display:flex;align-items:center;}
.summary-score{display:flex;align-items:center;gap:10px;width: 100%;flex:0 0 100%}
.summary-text{
	margin-top:5px;
	color: var(--Grey, #868686);
font-family: Roboto;
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 24px;
width: 100%;
flex: 0 0 100%;
margin-bottom:20px
}
.btn-review{
	padding: 15px 35px 13px 35px;
	border-radius: 8px;
	border:1px solid #2E2E32;
	background: var(--Black---Fill, #2E2E32);
	color: var(--White, #FFF);
	font-family: Roboto;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
	
	width: 100%;
	cursor: pointer;
}
.btn-review:hover{
	background: #fff;
	color:#2E2E32;
	border:1px solid #2E2E32;
}
.score-num{color: var(--Black, #232323);
margin-right:10px;
font-family: Roboto;
font-size: 32px;
font-style: normal;
font-weight: 500;
line-height: 40px; /* 125% */}
.score-stars{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.review-gallery.swiper{
	margin-bottom: 30px;
}
.review-name{
	color: var(--Black, #232323);
display:block;
/* Paragraph - Semibold */
font-family: Roboto;
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 24px;
margin-bottom: 8px;
}
.review-city{
	color: var(--Grey, #868686);

/* Medium - Text */
font-family: Roboto;
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 24px; /* 160% */
}
.review-date{
	color: var(--Grey, #868686);

/* Medium - Text */
font-family: Roboto;
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 24px; /* 160% */
}
.score-stars .star{fill:#DBDBDB}
.score-stars .filled{fill:#FFA51E}
.review-controls{display:flex;flex-wrap:wrap;gap:0 20px;margin-bottom: 30px}
.sort-label{
	color: var(--Grey, #868686);
font-family: Roboto;
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 24px; /* 160% */
}
.sort-links{
	display: flex;
	flex-wrap: wrap;
	gap:0 20px;
}
.sort-links span{
	cursor:pointer;position:relative;
	color: var(--Grey, #868686);

/* Medium - Text */
font-family: Roboto;
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 24px; /* 160% */
}
.sort-links span:hover{
	color: var(--Black, #232323);
}
.sort-links span.active::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:2px;background:#04AF53}
.filter-links label{margin-right:15px;cursor:pointer}

/* review item */
.review{border-bottom:1px solid #DBDBDB;padding-bottom:30px}
.review .review-rating svg path{fill:#FFA51E}
.review .review-media{margin-bottom: 20px}
.vote{cursor:pointer;display: flex;flex-wrap: wrap;align-items: center;gap:0 5px}
.vote:hover svg{
	fill:#FFA51E;
}
.vote.voted svg{
	fill: #FFA51E;
}
.vote b{
	color: var(--Black, #232323);
font-family: Roboto;
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 24px; /* 160% */
}
.review-votes{
	display: flex;
	flex-wrap: wrap;
	gap:0 30px;
}
.vote{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap:0 5px;
}
.review-flex{
	display: flex;
	flex-wrap: wrap;
	gap:40px;
}
.review-col-left{
	flex: 0 0 270px;
}
.review-col-right{
	flex:1;
}
#reviews-load{
	color: var(--Black, #232323);

/* Button - Big */
font-family: Roboto;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 24px; /* 150% */
text-align: center;
width: 100%;
padding: 15px;
border-radius: 8px;
border: 1px solid var(--Divider, #DBDBDB);
margin-top: 30px;
}
.filter-links input[type="checkbox"] { display:none; }
.filter-links label { position:relative; padding-left:28px; }
.filter-links label::before {
  content:''; position:absolute; left:0; top:0px; width:20px; height:20px;
  background:url('../img/check-off.svg') no-repeat center/contain;
}
.filter-links input:checked + label::before {
  background-image:url('../img/check-on.svg');
}


.vote.dimmed        { opacity:.4; cursor:default; }
.vote.voted-like svg path,
.vote.voted-dislike svg path { fill:#FFA51E; }


.review-gallery .swiper-slide img,
.review-media   .swiper-slide img { border-radius:10px; width:100%; height:100%; object-fit:cover; }
.review-gallery .swiper-slide,
.review-media   .swiper-slide { width:auto!important; }
.sort-select{display:none;width:100%;padding:6px 10px;border:1px solid #DBDBDB;border-radius:6px;font:15px/24px Roboto;}


@media screen and (max-width: 768px) {
	.sort-links{display:none;}       
  .sort-select{display: block;
    background-position-x: 98%;
    margin: 0;
    margin-bottom: 0px;
    margin-bottom: 10px;}     
	.review-col-left{
		width: 100%;
		flex:0 0 100%;
	}
  .preview-thumb {
    width: 80px;
    height: 80px;
  }
  .file-upload-flex {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
}
