.rating__stars{
    display: flex;
    align-items: center;
    gap: 5px;
}
.rating__stars svg{
    max-width: 48px;
    max-height: 48px;
}
.rating__stars svg{
    fill: #DDDDDD;
}
.rating__stars .filed svg{
    fill: #fa9f1a;
}
.rating__stars.--dynamic svg{
    width: 38px;
    height: 38px;
    cursor: pointer;
}
.reviews-wrapper{
    padding: 2rem 0;
    max-width: 940px;
    margin: 0 auto;
}
.reviews-form-row{
    margin-bottom: 1vw;
}
.reviews-form-row.--double{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1vw;
}
.pd-form__title{
    text-align: center;
    margin-bottom: 1rem;
    font-size: 2rem;
    font-weight: 600;
}
.pd-form__title span{
    font-size: 110%;
    font-weight: 600;
}
.pd-form__title button{
    color: #0283A5;
    cursor: pointer;
    border: none;
    background: none;
}

.pd-form__rating{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 15px;
    border: 1px solid #EFEFEF;
    border-radius: 8px;
    padding: 12px 20px;
    max-width: 450px;
}
.reviews-form-cell.--f-column{
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: space-between;
    gap: 15px;
}
.reviews-form-cell input[type='text'], .reviews-form-cell textarea, .reviews-form-cell input[type='email']{
    width: 100%;
    border: 1px solid #e8e8e8;
    padding: 0 15px;
    border-radius: 8px;
    box-sizing: border-box;
}
.reviews-form-cell input[type='text'], .reviews-form-cell input[type='email']{
    height: 65px;
}
.reviews-form-cell textarea{
    height: 100%;
    max-height: 300px;
    resize: vertical;
    display: block;
    padding-top: 10px;
}

.pd-reviews-trigger{
    width: fit-content;
    margin-left: auto;
}
.pd-reviews-trigger.--double-button{
    transform: translateY(-64px);
}
.pd-reviews-trigger button{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 10px 20px;
    width: 305px;
}
.input-file-row {
    display: block;
    padding: 20px 0;
    margin-bottom: 10px;
}
.input-file {
    position: relative;
    display: block;
}
.input-file span.input-file-button {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    justify-content: center;
    width: 100%;
}
.input-file span.input-file-button span{
    color: #31ae30;
}
.input-file span.input-file-button:hover{
    opacity: 0.8;
}
.input-file span.input-file-button svg{
    width: 20px;
    height: 30px;
    fill: grey;
}
.input-file input[type=file] {
    position: absolute;
    z-index: -1;
    opacity: 0;
    display: block;
    width: 0;
    height: 0;
}

/* Disabled */
.input-file input[type=file]:disabled + span {
    background-color: #eee;
}

/* Список файлов */
.input-file-list:not(:empty) {
    padding: 10px 0;
}
.input-file-list-item {
    margin-bottom: 10px;
}
.blue-btn{
    width: 100%;
    height: 50px;
    border: 1px solid #da434d;
    background: #da434d;
    color: #fff;
    padding: 10px 25px;
    border-radius: 8px;
}
.blue-btn:hover{
    opacity: 0.8;
}
.blue-btn[type="submit"]:disabled{
    opacity: 0.5;
    pointer-events: none;
    cursor: unset;
}
[data-button="reviews"].active{
    display: none;
}

.pd-form__policy{
    text-wrap: balance;
    line-height: 1;
    text-align: center;
    font-size: 14px;
}
.pd-form__policy a{
    color: #6d0092;
    text-decoration: underline;
}
.fly-message{
    position: fixed;
    top: 35vh;
    right: 0;
    z-index: 222;
    color: #fff;
    padding: 15px;
    opacity: 0;
    transform: translateX(100%);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.fly-message.error{
    background: #da434d;
}
.fly-message.sussess{
    background: #32cd75;
}
.fly-message.active{
    opacity: 1;
    transform: translateX(0);
}
.result-block{
    padding: 12px;
    margin: 0 auto;
    max-width: 420px;
    display: none;
}
.form-success{
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    max-width: 450px;
    margin: 0 auto 0;
}
.svg-container {
    text-align: center;
    padding: 2rem 15px;
}
#reviewsForm{
    position: relative;
}
#reviewsForm .waiting, #productReviewsArea .waiting{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: rgba(255,255,255,.5);
    z-index: 99;
    display: none;
}

.waiting-loader {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    -webkit-animation: rotate 1s linear infinite;
    animation: rotate 1s linear infinite;
}
.waiting-loader::before,
.waiting-loader::after {
    content: "";
    box-sizing: border-box;
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 5px solid lightgrey;
    -webkit-animation: prixClipFix 2s linear infinite;
    animation: prixClipFix 2s linear infinite;
}
.waiting-loader::after {
    border-color: #411a45;
    animation: prixClipFix 2s linear infinite, rotate 0.5s linear infinite reverse;
    inset: 6px;
}

@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@-webkit-keyframes prixClipFix {
    0% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
        clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
    }
    25% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
    }
    50% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
    }
    75% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);
    }
    100% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);
    }
}
@keyframes prixClipFix {
    0% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
        clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
    }
    25% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
    }
    50% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
    }
    75% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);
    }
    100% {
        -webkit-clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);
    }
}
@supports (animation: grow .5s cubic-bezier(.25, .25, .25, 1) forwards) {
    .tick {
        stroke-opacity: 0;
        stroke-dasharray: 29px;
        stroke-dashoffset: 29px;
        animation: draw .5s cubic-bezier(.25, .25, .25, 1) forwards;
        animation-delay: .6s
    }

    .circle {
        fill-opacity: 0;
        stroke:  #32cd75;
        stroke-width: 16px;
        transform-origin: center;
        transform: scale(0);
        animation: grow 1s cubic-bezier(.25, .25, .25, 1.25) forwards;
    }
}

@keyframes grow {
    60% {
        transform: scale(.8);
        stroke-width: 4px;
        fill-opacity: 0;
    }
    100% {
        transform: scale(.9);
        stroke-width: 8px;
        fill-opacity: 1;
        fill:  #32cd75;
    }
}

@keyframes draw {
    0%, 100% { stroke-opacity: 1; }
    100% { stroke-dashoffset: 0; }
}


@media (max-width: 660px){
    .reviews-form, .reviews-form-row.--double {
        display: block;
    }
    .reviews-form-cell {
        margin-top: 2vw;
    }
    .pd-reviews-trigger.--double-button {
        transform: none;
        margin-bottom: 15px;
        width: 100%;
    }
    .reviews-form-cell input[type='text'] {
        height: 40px;
    }
}