/* =========================================================
   AWTI DEVICES HUB
   REVIEWS + USER RATING CSS
   File: assets/css/device-reviews.css
   ========================================================= */

.awti-device-single .awti-user-rating-card{
    position:relative;

    margin:20px 0;
    padding:20px;

    border:1px solid rgba(37,99,235,.18);
    border-left:3px solid #16a34a;
    border-radius:18px;

    background:
        linear-gradient(
            135deg,
            #ecfdf5 0%,
            #ffffff 48%,
            #eff6ff 100%
        );

    box-shadow:
        0 8px 28px rgba(15,23,42,.07);

    overflow:hidden;
}

.awti-device-single .awti-user-rating-card::before{
    content:"";

    position:absolute;
    top:0;
    left:0;
    right:0;

    height:3px;

    background:
        linear-gradient(
            90deg,
            #16a34a,
            #0d9488,
            #2563eb
        );
}


/* =========================================================
   REVIEW HEADING
   ========================================================= */

.awti-device-single .awti-rating-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;
}

.awti-device-single .awti-rating-heading h2{
    margin:0 0 4px;

    color:#0f172a;

    font-size:21px;
    font-weight:800;
}

.awti-device-single .awti-rating-heading p{
    margin:0;

    color:#64748b;

    font-size:13px;
}

.awti-device-single .awti-rating-heading > strong{
    color:#2563eb;

    font-size:13px;
    white-space:nowrap;
}


/* =========================================================
   RATING SUMMARY
   ========================================================= */

.awti-device-single .awti-rating-summary{
    display:grid;

    grid-template-columns:170px 1fr;

    gap:24px;
    align-items:center;

    margin-top:18px;
    padding:18px;

    border:1px solid rgba(37,99,235,.12);
    border-radius:15px;

    background:
        linear-gradient(
            135deg,
            #f0fdf4,
            #ffffff,
            #eff6ff
        );
}


/* =========================================================
   AVERAGE
   ========================================================= */

.awti-device-single .awti-rating-average{
    text-align:center;

    padding-right:20px;

    border-right:1px solid #e2e8f0;
}

.awti-device-single .awti-rating-average > strong{
    font-size:42px;
    line-height:1;

    color:#2563eb;
    font-weight:900;
}

.awti-device-single .awti-rating-average > span{
    color:#64748b;
    font-size:15px;
}

.awti-device-single .awti-rating-big-stars{
    margin-top:8px;

    color:#f59e0b;

    font-size:20px;
    letter-spacing:2px;
}


/* =========================================================
   RATING BREAKDOWN
   ========================================================= */

.awti-device-single .awti-rating-breakdown{
    display:grid;
    gap:8px;
}

.awti-device-single .awti-rating-row{
    display:grid;

    grid-template-columns:38px 1fr 30px;

    gap:9px;
    align-items:center;
}

.awti-device-single .awti-rating-star-label{
    color:#475569;

    font-size:12px;
    font-weight:700;
}

.awti-device-single .awti-rating-bar{
    height:8px;

    border-radius:99px;

    background:#e2e8f0;

    overflow:hidden;
}

.awti-device-single .awti-rating-bar span{
    display:block;

    height:100%;

    border-radius:99px;

    background:
        linear-gradient(
            90deg,
            #16a34a,
            #0d9488,
            #2563eb
        );

    transition:width .25s ease;
}

.awti-device-single .awti-rating-row strong{
    color:#64748b;

    font-size:12px;
    text-align:right;
}


/* =========================================================
   USER STAR BOX
   ========================================================= */

.awti-device-single .awti-user-star-box{
    margin-top:14px;
    padding:16px;

    border:1px solid rgba(22,163,74,.16);
    border-radius:14px;

    background:#fff;

    text-align:center;

    box-shadow:
        0 4px 14px rgba(15,23,42,.04);
}

.awti-device-single .awti-user-star-box > strong{
    display:block;

    margin-bottom:8px;

    color:#0f172a;

    font-size:14px;
    font-weight:800;
}


/* =========================================================
   USER STARS
   ========================================================= */

.awti-device-single .awti-user-stars{
    display:flex;

    justify-content:center;

    gap:3px;
}

.awti-device-single .awti-user-star{
    width:42px;
    height:42px;

    padding:0;

    border:0;

    background:transparent;

    color:#f59e0b;

    font-size:31px;
    line-height:42px;

    cursor:pointer;

    transition:
        transform .12s ease,
        color .12s ease;
}

.awti-device-single .awti-user-star:hover{
    transform:scale(1.12);
}

.awti-device-single .awti-user-star.is-selected,
.awti-device-single .awti-user-star.is-hover{
    color:#f59e0b;
}


/* =========================================================
   RATING MESSAGE
   ========================================================= */

.awti-device-single .awti-user-star-box small{
    display:block;

    margin-top:7px;

    color:#64748b;

    font-size:12px;
}


/* =========================================================
   RATING DISABLED
   ========================================================= */

.awti-device-single .awti-user-star:disabled{
    cursor:not-allowed;

    opacity:.65;
}


/* =========================================================
   REVIEW EMPTY STATE
   ========================================================= */

.awti-device-single .awti-review-empty{
    margin-top:14px;
    padding:15px;

    border:1px dashed rgba(37,99,235,.20);
    border-radius:13px;

    background:#f8fafc;

    color:#64748b;

    font-size:13px;
    text-align:center;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:600px){

    .awti-device-single .awti-user-rating-card{
        padding:15px;
        border-radius:15px;
    }

    .awti-device-single .awti-rating-summary{
        grid-template-columns:1fr;

        gap:16px;

        padding:15px;
    }

    .awti-device-single .awti-rating-average{
        padding-right:0;
        padding-bottom:14px;

        border-right:0;
        border-bottom:1px solid #e2e8f0;
    }

    .awti-device-single .awti-rating-average > strong{
        font-size:36px;
    }

    .awti-device-single .awti-rating-heading{
        align-items:flex-start;
    }

    .awti-device-single .awti-user-star{
        width:39px;
        height:39px;

        font-size:29px;
        line-height:39px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:400px){

    .awti-device-single .awti-user-rating-card{
        padding:13px;
    }

    .awti-device-single .awti-user-star{
        width:36px;
        height:36px;

        font-size:27px;
        line-height:36px;
    }

}