/* =========================================================
   HITEK SYNERGIES
   REVIEWS
========================================================= */

.reviews-page {
    min-height: 100vh;
    padding: 150px 0 90px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(0, 140, 255, .08),
            transparent 38%
        );
}


.reviews-page-container {
    width: min(
        1180px,
        calc(100% - 40px)
    );

    margin: 0 auto;
}


/* =========================================================
   PAGE HEADING
========================================================= */

.review-page-heading {
    text-align: center;

    max-width: 850px;

    margin:
        0 auto 45px;
}


.review-page-heading .eyebrow {
    color: #00bfff;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2.5px;

    text-transform: uppercase;

    margin-bottom: 12px;
}


.review-page-heading h1 {
    margin:
        0 0 12px;
}


.review-page-heading p {
    margin: 0;

    opacity: .8;

    line-height: 1.7;
}


/* =========================================================
   GRID
========================================================= */

.reviews-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 18px;
}


/* =========================================================
   CARD
========================================================= */

.review-card,
.review-panel {

    background:
        rgba(
            255,
            255,
            255,
            .96
        );

    border:
        1px solid
        rgba(
            20,
            30,
            45,
            .10
        );

    border-radius: 18px;

    padding: 22px;

    box-shadow:
        0 12px 35px
        rgba(
            0,
            0,
            0,
            .06
        );
}


.review-card {

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.review-card:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 18px 45px
        rgba(
            0,
            0,
            0,
            .10
        );
}


/* =========================================================
   CARD HEADER
========================================================= */

.review-card-head {

    display: flex;

    gap: 12px;

    align-items: center;
}


.review-company-logo-wrap {

    flex:
        0 0 auto;
}


.review-company-logo {

    width: 48px;

    height: 48px;

    object-fit: contain;

    border-radius: 10px;

    border:
        1px solid #eee;

    background: #fff;
}


.review-company-logo-placeholder {

    width: 48px;

    height: 48px;

    border-radius: 10px;

    display: grid;

    place-items: center;

    background:
        #eef5fa;

    color:
        #1676ad;

    font-weight: 800;

    font-size: 20px;
}


/* =========================================================
   STARS
========================================================= */

.review-stars {

    color:
        #e3a51c;

    margin-bottom: 4px;

    letter-spacing: 1px;
}


.review-stars .muted {

    opacity: .25;
}


/* =========================================================
   QUOTE
========================================================= */

.review-quote {

    font-size: 46px;

    line-height: .7;

    margin:
        22px 0 4px;

    color:
        #00aeea;

    font-family:
        Georgia,
        serif;
}


/* =========================================================
   REVIEW TEXT
========================================================= */

.review-text {

    line-height: 1.7;

    color:
        #34404a;

    margin:
        10px 0 0;
}


/* =========================================================
   AUTHOR
========================================================= */

.review-author {

    display: flex;

    flex-direction: column;

    margin-top: 18px;

    padding-top: 14px;

    border-top:
        1px solid
        rgba(
            0,
            0,
            0,
            .07
        );
}


.review-author span {

    opacity: .7;

    font-size: 13px;

    margin-top: 3px;
}


/* =========================================================
   EMPTY
========================================================= */

.review-empty {

    grid-column:
        1 / -1;

    text-align: center;

    padding: 45px 20px;

    background: #fff;

    border:
        1px solid #eee;

    border-radius: 16px;

    color: #68727a;
}


/* =========================================================
   ACTIONS
========================================================= */

.reviews-actions {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 12px;

    margin-top: 35px;

    flex-wrap: wrap;
}


.reviews-actions a {

    text-decoration: none;
}


/* =========================================================
   BUTTONS
========================================================= */

.primary-btn,
.secondary-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 46px;

    padding:
        0 20px;

    border-radius: 10px;

    font-weight: 700;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;
}


.primary-btn {

    background:
        linear-gradient(
            135deg,
            #007fc4,
            #00bfff
        );

    color: #fff;

    border: 0;

    box-shadow:
        0 8px 20px
        rgba(
            0,
            140,
            210,
            .20
        );
}


.secondary-btn {

    background: #fff;

    color: #24313a;

    border:
        1px solid #d9dfe3;
}


.primary-btn:hover,
.secondary-btn:hover {

    transform:
        translateY(-2px);
}


/* =========================================================
   ALERTS
========================================================= */

.review-alert {

    max-width: 900px;

    margin:
        0 auto 18px;

    padding:
        13px 16px;

    border-radius: 10px;

    line-height: 1.5;
}


.review-alert.success {

    background:
        #eefaf2;

    color:
        #21683b;

    border:
        1px solid #ccebd6;
}


.review-alert.error {

    background:
        #fff0f0;

    color:
        #8b2525;

    border:
        1px solid #f1caca;
}


/* =========================================================
   FORM
========================================================= */

.review-form {

    max-width: 900px;

    margin: 0 auto;
}


.review-form-grid {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 16px;
}


.review-field {

    display: block;

    margin-bottom: 16px;
}


.review-field > span {

    display: block;

    font-weight: 700;

    margin-bottom: 7px;
}


.review-field small {

    font-weight: 400;

    opacity: .65;
}


.review-field input,
.review-field textarea,
.review-field select {

    width: 100%;

    box-sizing: border-box;

    padding:
        12px 13px;

    border:
        1px solid #dcd4c9;

    border-radius: 10px;

    background: #fff;

    font: inherit;

    color: #202a31;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


.review-field textarea {

    resize: vertical;

    min-height: 150px;
}


.review-field input:focus,
.review-field textarea:focus,
.review-field select:focus {

    border-color:
        #00aeea;

    box-shadow:
        0 0 0 3px
        rgba(
            0,
            174,
            234,
            .10
        );
}


.review-consent {

    display: flex;

    gap: 9px;

    align-items: flex-start;

    margin:
        15px 0 20px;

    line-height: 1.5;

    font-size: 14px;
}


.review-consent input {

    margin-top: 4px;

    flex:
        0 0 auto;
}


/* =========================================================
   HONEYPOT
========================================================= */

.review-hp {

    position: absolute;

    left: -99999px;

    width: 1px;

    height: 1px;

    overflow: hidden;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 950px) {

    .reviews-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}


@media (max-width: 700px) {

    .reviews-page {

        padding:
            120px 0 60px;
    }


    .reviews-page-container {

        width:
            min(
                100% - 24px,
                900px
            );
    }


    .reviews-grid {

        grid-template-columns:
            1fr;
    }


    .review-form-grid {

        grid-template-columns:
            1fr;
    }


    .review-card,
    .review-panel {

        padding: 18px;
    }


    .review-page-heading {

        margin-bottom: 30px;
    }


    .review-page-heading h1 {

        font-size:
            clamp(
                30px,
                8vw,
                42px
            );
    }


    .reviews-actions {

        flex-direction:
            column;
    }


    .reviews-actions a {

        width: 100%;

        box-sizing: border-box;
    }
}