.reviews-form__toolbar {
	display:       flex;
	gap:           8px;
	margin-bottom: 10px;
}

.reviews-form__toolbar-btn {
	min-width:     38px;
	height:        38px;
	border:        1px solid #D9D9D9;
	border-radius: 6px;
	background:    #FFF;
	cursor:        pointer;
	font-size:     16px;
	line-height:   1;
	transition:    background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}

.reviews-form__toolbar-btn:hover {
	background:   #F7F7F7;
	border-color: #BDBDBD;
	box-shadow:   0 2px 8px rgba(0, 0, 0, 0.08);
	transform:    translateY(-1px);
}

.reviews-form__toolbar-btn.is-active {
	background:   #ECECEC;
	border-color: #999;
	box-shadow:   inset 0 1px 3px rgba(0, 0, 0, 0.12);
}

.reviews-form__editor {
	min-height:    120px;
	white-space:   pre-wrap;
	overflow-wrap: break-word;
}

.reviews-form__editor:empty:before {
	content:        attr(data-placeholder);
	color:          #999;
	pointer-events: none;
}

.reviews-form__note {
	color:       #8C8C8C;
	font-size:   13px;
	font-weight: 400;
	margin-left: 6px;
}

.reviews-form__upload {
	display:        flex;
	flex-direction: column;
	gap:            12px;
}

.reviews-form__file-input {
	display: none;
}

.reviews-form__upload-dropzone {
	display:         flex;
	flex-direction:  column;
	align-items:     center;
	justify-content: center;
	gap:             8px;
	padding:         20px;
	border:          1px dashed #D9D9D9;
	border-radius:   10px;
	background:      #FAFAFA;
	cursor:          pointer;
	transition:      border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
	text-align:      center;
}

.reviews-form__upload-dropzone:hover {
	background:   #FFF;
	border-color: #BDBDBD;
	box-shadow:   0 2px 10px rgba(0, 0, 0, 0.06);
}

.reviews-form__upload-icon {
	font-size:   28px;
	line-height: 1;
}

.reviews-form__upload-title {
	font-size:   16px;
	font-weight: 600;
	color:       #222;
}

.reviews-form__upload-subtitle {
	font-size: 13px;
	color:     #8C8C8C;
}

.reviews-form__upload-error {
	padding:       10px 12px;
	border-radius: 8px;
	background:    #FFF1F0;
	border:        1px solid #FFA39E;
	color:         #CF1322;
	font-size:     14px;
}

.reviews-form__images-preview {
	display:               grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap:                   12px;
}

.reviews-form__image-item {
	display:        flex;
	flex-direction: column;
	gap:            10px;
	padding:        10px;
	border:         1px solid #E8E8E8;
	border-radius:  10px;
	background:     #FFF;
	box-shadow:     0 2px 8px rgba(0, 0, 0, 0.04);
}

.reviews-form__image-thumb {
	display:       block;
	width:         100%;
	max-width:     300px;
	height:        150px;
	max-height:    150px;
	object-fit:    cover;
	border-radius: 8px;
	background:    #F5F5F5;
	margin:        0 auto;
}

.reviews-form__image-meta {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	gap:             10px;
}

.reviews-form__image-name {
	font-size:     13px;
	color:         #555;
	overflow:      hidden;
	text-overflow: ellipsis;
	white-space:   nowrap;
	flex:          1;
}

.reviews-form__image-remove {
	border:        1px solid #D9D9D9;
	background:    #FFF;
	border-radius: 6px;
	padding:       6px 10px;
	cursor:        pointer;
	font-size:     13px;
	transition:    all .2s ease;
}

.reviews-form__image-remove:hover {
	border-color: #FF7875;
	color:        #CF1322;
	background:   #FFF1F0;
}