/* =========================================================
   DREAM EVENT KOLKATA
   TESTIMONIAL SECTION + POPUP CSS
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.dek-testimonial-section {

    position: relative;

    width: 100%;

    overflow: hidden;

    background: #220812;

    color: #fff;

}


.dek-testimonial-bg {

    position: absolute;

    inset: 0;

    z-index: 0;

    background:

        linear-gradient(
            135deg,
            rgba(30,4,12,.95),
            rgba(91,12,35,.88),
            rgba(20,3,8,.96)
        ),

        url("../images/testimonial-bg.png");

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

}


.dek-testimonial-container {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 1250px;

    margin: 0 auto;

    padding: 40px 20px 45px;

    box-sizing: border-box;

}


/* =========================================================
   HEADING
========================================================= */

.dek-testimonial-heading {

    text-align: center;

    margin-bottom: 35px;

}


.dek-testimonial-eyebrow {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    margin-bottom: 11px;

    color: #e6c875;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 3.5px;

    text-transform: uppercase;

}


.dek-testimonial-eyebrow span {

    width: 38px;

    height: 1px;

    background:
        rgba(230,200,117,.55);

}


.dek-testimonial-heading h2 {

    margin: 0;

    color: #fff8ee;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(34px, 4.4vw, 47px);

    line-height: 1.15;

    font-weight: 500;

}


.dek-testimonial-heading h2 strong {

    color: #e6c875;

    font-weight: 500;

}


.dek-testimonial-heading > p {

    max-width: 680px;

    margin:
        13px auto 0;

    color:
        rgba(255,245,235,.70);

    font-size: 14px;

    line-height: 1.7;

}


/* =========================================================
   SHARE BUTTON
========================================================= */

.dek-testimonial-action {

    display: flex;

    justify-content: center;

    margin-top: 22px;

}


.dek-share-testimonial {

    appearance: none;

    border:
        1px solid
        #e6c875;

    border-radius: 28px;

    min-height: 44px;

    padding: 11px 23px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    background:
        linear-gradient(
            135deg,
            #a3264c,
            #7e1730
        );

    color: #fff;

    font-size: 12px;

    font-weight: 800;

    cursor: pointer;

    box-shadow:
        0 10px 28px
        rgba(0,0,0,.25);

    transition:
        transform .25s ease,
        background .25s ease,
        box-shadow .25s ease;

}


.dek-share-testimonial:hover {

    transform:
        translateY(-2px);

    background:
        linear-gradient(
            135deg,
            #b92e58,
            #8c1a3b
        );

    box-shadow:
        0 15px 35px
        rgba(0,0,0,.34);

}


.dek-share-testimonial:active {

    transform:
        translateY(0);

}


/* =========================================================
   DIVIDER
========================================================= */

.dek-testimonial-divider {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 13px;

    margin-top: 18px;

}


.dek-testimonial-divider span {

    width: 55px;

    height: 1px;

    background:
        rgba(230,200,117,.28);

}


.dek-testimonial-divider b {

    color: #e6c875;

    font-size: 20px;

}


/* =========================================================
   SUCCESS
========================================================= */

.dek-testimonial-page-success {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    max-width: 800px;

    margin:
        0 auto 23px;

    padding: 12px 16px;

    border:
        1px solid
        rgba(92,204,140,.28);

    border-radius: 9px;

    background:
        rgba(35,130,77,.12);

    color: #a4e2bf;

    font-size: 12px;

    line-height: 1.5;

    text-align: center;

}


/* =========================================================
   GRID
   DESKTOP = 3 COLUMNS
   ALL APPROVED CARDS
========================================================= */

.dek-testimonial-grid {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;

}


/* =========================================================
   CARD
========================================================= */

.dek-testimonial-card {

    min-width: 0;

    padding: 19px;

    border:
        1px solid
        rgba(230,200,117,.16);

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(92,16,35,.72),
            rgba(39,6,17,.88)
        );

    box-shadow:
        0 13px 35px
        rgba(0,0,0,.22);

    backdrop-filter: blur(5px);

    transition:
        transform .28s ease,
        border-color .28s ease,
        box-shadow .28s ease;

}


.dek-testimonial-card:hover {

    transform:
        translateY(-4px);

    border-color:
        rgba(230,200,117,.35);

    box-shadow:
        0 20px 45px
        rgba(0,0,0,.30);

}


/* =========================================================
   TOP
========================================================= */

.dek-testimonial-top {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 11px;

}


.dek-testimonial-quote {

    width: 39px;

    height: 39px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        rgba(230,200,117,.10);

    border:
        1px solid
        rgba(230,200,117,.15);

    color: #e6c875;

    font-family: Georgia, serif;

    font-size: 28px;

    font-weight: 700;

}


.dek-testimonial-stars {

    color: #e6c875;

    font-size: 15px;

    letter-spacing: 1px;

    white-space: nowrap;

}


.dek-testimonial-date {

    margin-left: auto;

    color:
        rgba(255,245,235,.44);

    font-size: 9px;

    white-space: nowrap;

}


/* =========================================================
   TEXT
========================================================= */

.dek-testimonial-text {

    margin: 0;

    min-height: 108px;

    color:
        rgba(255,247,239,.82);

    font-size: 13px;

    line-height: 1.62;

}


/* =========================================================
   LINE
========================================================= */

.dek-testimonial-line {

    width: 100%;

    height: 1px;

    margin: 13px 0;

    background:
        rgba(230,200,117,.11);

}


/* =========================================================
   CLIENT
========================================================= */

.dek-testimonial-client {

    display: flex;

    align-items: center;

    gap: 11px;

}


.dek-testimonial-avatar {

    width: 57px;

    height: 57px;

    flex-shrink: 0;

    overflow: hidden;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    border:
        2px solid
        rgba(255,255,255,.14);

    background:
        linear-gradient(
            145deg,
            #e6c875,
            #966826
        );

    color: #350916;

    font-size: 14px;

    font-weight: 800;

}


.dek-testimonial-avatar img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

}


.dek-testimonial-initials {

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

}


.dek-testimonial-info {

    min-width: 0;

    display: flex;

    flex-direction: column;

}


.dek-testimonial-info strong {

    color: #fff8ee;

    font-size: 14px;

    line-height: 1.25;

}


.dek-testimonial-info > span {

    margin-top: 2px;

    color: #e6c875;

    font-size: 10px;

}


.dek-testimonial-info small {

    display: flex;

    align-items: center;

    gap: 5px;

    margin-top: 4px;

    color:
        rgba(255,245,235,.48);

    font-size: 9px;

}


/* =========================================================
   EVENT
========================================================= */

.dek-testimonial-event {

    display: flex;

    align-items: center;

    gap: 6px;

    margin-top: 11px;

    padding-top: 9px;

    border-top:
        1px solid
        rgba(230,200,117,.11);

    color: #e6c875;

    font-size: 10px;

    font-weight: 700;

}


.dek-testimonial-event i {

    font-size: 9px;

}


/* =========================================================
   EMPTY
========================================================= */

.dek-testimonial-empty {

    grid-column:
        1 / -1;

    text-align: center;

    padding: 45px 20px;

}


.dek-testimonial-empty i {

    display: block;

    margin-bottom: 10px;

    color: #e6c875;

    font-size: 32px;

}


.dek-testimonial-empty p {

    margin: 0;

    color:
        rgba(255,245,235,.55);

    font-size: 12px;

}


/* =========================================================
   VIEW MORE
========================================================= */

.dek-testimonial-view-wrap {

    display: flex;

    justify-content: center;

    margin-top: 28px;

}


.dek-testimonial-view {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 11px;

    min-width: 225px;

    padding: 11px 20px;

    border:
        1px solid
        rgba(230,200,117,.52);

    border-radius: 28px;

    background:
        rgba(95,15,36,.45);

    color: #e6c875;

    text-decoration: none;

    font-size: 11px;

    font-weight: 800;

    transition:
        transform .25s ease,
        background .25s ease;

}


.dek-testimonial-view:hover {

    transform:
        translateY(-2px);

    background:
        #7e1730;

    color: #fff;

}


.dek-testimonial-view b {

    font-size: 17px;

    font-weight: 400;

}


/* =========================================================
   STATS
========================================================= */

.dek-testimonial-stats {

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    margin-top: 44px;

    padding: 21px 0;

    border-top:
        1px solid
        rgba(230,200,117,.13);

    border-bottom:
        1px solid
        rgba(230,200,117,.13);

}


.dek-testimonial-stat {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding: 4px 15px;

    border-right:
        1px solid
        rgba(230,200,117,.11);

}


.dek-testimonial-stat:last-child {

    border-right: none;

}


.dek-stat-icon {

    width: 35px;

    height: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #e6c875;

    font-size: 22px;

}


.dek-testimonial-stat > div:last-child {

    display: flex;

    flex-direction: column;

}


.dek-testimonial-stat strong {

    color: #fff7ed;

    font-size: 22px;

    line-height: 1.1;

}


.dek-testimonial-stat span {

    margin-top: 3px;

    color:
        rgba(255,245,235,.50);

    font-size: 9px;

}


/* =========================================================
   THANKS
========================================================= */

.dek-testimonial-thanks {

    margin-top: 29px;

    text-align: center;

    color: #e6c875;

    font-family:
        "Brush Script MT",
        "Segoe Script",
        cursive;

    font-size: 20px;

    font-style: italic;

}


/* =========================================================
   POPUP
========================================================= */

body.dek-review-lock {

    overflow: hidden !important;

}


.dek-review-modal {

    position: fixed !important;

    inset: 0 !important;

    z-index: 999999 !important;

    width: 100% !important;

    height: 100% !important;

    padding: 15px !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    box-sizing: border-box !important;

    visibility: hidden;

    opacity: 0;

    pointer-events: none;

    transition:
        opacity .25s ease,
        visibility .25s ease;

}


.dek-review-modal.dek-review-active {

    visibility: visible !important;

    opacity: 1 !important;

    pointer-events: auto !important;

}


/* OVERLAY */

.dek-review-overlay {

    position: absolute;

    inset: 0;

    background:
        rgba(10,2,6,.78);

    backdrop-filter: blur(6px);

    -webkit-backdrop-filter: blur(6px);

}


/* BOX */

.dek-review-box {

    position: relative;

    z-index: 2;

    width:
        min(
            760px,
            calc(100vw - 30px)
        );

    max-height:
        calc(100vh - 30px);

    overflow-x: hidden;

    overflow-y: auto;

    box-sizing: border-box;

    border:
        1px solid
        rgba(158,34,72,.20);

    border-radius: 17px;

    background:
        linear-gradient(
            145deg,
            #fffaf3,
            #f8efe4
        );

    box-shadow:
        0 30px 90px
        rgba(0,0,0,.52);

    transform:
        translateY(20px)
        scale(.97);

    opacity: 0;

    transition:
        transform .3s ease,
        opacity .3s ease;

}


.dek-review-active
.dek-review-box {

    transform:
        translateY(0)
        scale(1);

    opacity: 1;

}


/* HEADER */

.dek-review-header {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 18px;

    padding: 22px 25px 17px;

    border-bottom:
        1px solid
        #eadccc;

}


.dek-review-eyebrow {

    display: block;

    margin-bottom: 5px;

    color: #a4254c;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 2.6px;

    text-transform: uppercase;

}


.dek-review-header h3 {

    margin: 0;

    color: #531324;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 28px;

    line-height: 1.15;

    font-weight: 500;

}


.dek-review-header p {

    margin: 6px 0 0;

    color: #786c68;

    font-size: 12px;

    line-height: 1.5;

}


/* CLOSE */

.dek-review-close {

    flex: 0 0 36px;

    width: 36px;

    height: 36px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        #e2d3c4;

    border-radius: 50%;

    background: #fff9f1;

    color: #552b35;

    cursor: pointer;

    font-size: 14px;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;

}


.dek-review-close:hover {

    background: #9d254b;

    border-color: #9d254b;

    color: #fff;

    transform:
        rotate(90deg);

}


/* =========================================================
   AJAX MESSAGE
========================================================= */

.dek-review-message {

    margin:
        14px 25px 0;

    padding:
        11px 13px;

    border-radius: 8px;

    font-size: 12px;

    line-height: 1.5;

}


.dek-review-message.success {

    background:
        rgba(35,135,80,.10);

    border:
        1px solid
        rgba(35,135,80,.25);

    color: #27784b;

}


.dek-review-message.error {

    background:
        rgba(188,36,70,.08);

    border:
        1px solid
        rgba(188,36,70,.25);

    color: #a62947;

}


/* =========================================================
   FORM
========================================================= */

.dek-review-form {

    padding:
        20px 25px 25px;

    box-sizing: border-box;

}


.dek-review-grid {

    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap: 13px 15px;

}


.dek-review-field {

    min-width: 0;

}


.dek-review-field label,
.dek-review-rating-head label {

    display: block;

    margin-bottom: 6px;

    color: #4d343b;

    font-size: 11px;

    font-weight: 700;

}


.dek-review-field label span,
.dek-review-rating-head label span {

    color: #b8284f;

}


/* INPUT */

.dek-review-input {

    position: relative;

    display: flex;

    align-items: center;

}


.dek-review-input > i {

    position: absolute;

    left: 12px;

    z-index: 2;

    color: #9f294d;

    font-size: 11px;

    pointer-events: none;

}


.dek-review-input input,
.dek-review-input select {

    width: 100%;

    min-height: 39px;

    padding:
        9px
        11px
        9px
        34px;

    box-sizing: border-box;

    border:
        1px solid
        #ddd1c3;

    border-radius: 8px;

    outline: none;

    background: #fffdf9;

    color: #382b30;

    font-family: inherit;

    font-size: 12px;

}


.dek-review-input input:focus,
.dek-review-input select:focus {

    border-color: #9d2348;

    box-shadow:
        0 0 0 3px
        rgba(157,35,72,.10);

}


/* =========================================================
   RATING
========================================================= */

.dek-review-rating {

    width: 100%;

    margin-top: 15px;

    padding: 12px 14px;

    box-sizing: border-box;

    border:
        1px solid
        #eadccc;

    border-radius: 10px;

    background: #fff9f1;

}


.dek-review-rating-head {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 4px;

}


.dek-review-rating-head label {

    margin: 0;

}


#gkRatingText {

    color: #a3264d;

    font-size: 11px;

    font-weight: 800;

}


.dek-rating-stars {

    display: flex;

    align-items: center;

    gap: 2px;

}


.dek-rating-star {

    all: unset;

    width: 36px;

    height: 36px;

    flex: 0 0 36px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    color: #d5ccc3;

    font-size: 28px;

    line-height: 1;

    cursor: pointer;

    transition:
        color .15s ease,
        transform .15s ease;

}


.dek-rating-star.is-selected {

    color: #bd7f26;

}


.dek-rating-star:hover {

    color: #d49a3c;

    transform:
        scale(1.10);

}


/* =========================================================
   TEXTAREA
========================================================= */

.dek-review-message-field {

    margin-top: 13px;

}


.dek-review-message-field textarea {

    display: block;

    width: 100%;

    min-height: 130px;

    height: 130px;

    max-height: 130px;

    overflow-y: auto;

    resize: none;

    padding: 10px 12px;

    border:
        1px solid
        #ddd1c3;

    border-radius: 8px;

    outline: none;

    box-sizing: border-box;

    background: #fffdf9;

    color: #382b30;

    font-family: inherit;

    font-size: 12px;

    line-height: 1.5;

}


.dek-review-message-field textarea:focus {

    border-color: #9d2348;

    box-shadow:
        0 0 0 3px
        rgba(157,35,72,.10);

}


.dek-review-counter {

    margin-top: 4px;

    color: #9c928d;

    font-size: 9px;

    text-align: right;

}


/* =========================================================
   PHOTO
========================================================= */

.dek-review-photo {

    margin-top: 13px;

}


.dek-review-photo > label {

    display: block;

    margin-bottom: 6px;

    color: #4d343b;

    font-size: 11px;

    font-weight: 700;

}


.dek-review-photo-input {

    display: flex;

    align-items: center;

    gap: 9px;

    min-height: 39px;

    padding: 7px 10px;

    box-sizing: border-box;

    border:
        1px dashed
        #cfbdaa;

    border-radius: 8px;

    background: #fffdf9;

    color: #9d294d;

}


.dek-review-photo-input input {

    width: 100%;

    font-size: 11px;

}


.dek-review-photo small {

    display: block;

    margin-top: 5px;

    color: #9b908a;

    font-size: 9px;

}


/* =========================================================
   FOOTER
========================================================= */

.dek-review-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    margin-top: 15px;

    padding-top: 14px;

    border-top:
        1px solid
        #eadccc;

}


.dek-review-note {

    display: flex;

    align-items: flex-start;

    gap: 7px;

    max-width: 320px;

    color: #786d68;

    font-size: 10px;

    line-height: 1.45;

}


.dek-review-note i {

    flex-shrink: 0;

    color: #9d254b;

}


.dek-review-submit {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    min-height: 40px;

    padding: 10px 18px;

    border:
        1px solid
        #9d2348;

    border-radius: 8px;

    background:
        linear-gradient(
            135deg,
            #a5274e,
            #7e1730
        );

    color: #fff;

    font-size: 11px;

    font-weight: 800;

    cursor: pointer;

    box-shadow:
        0 7px 18px
        rgba(126,23,48,.18);

    transition:
        transform .2s ease,
        opacity .2s ease;

}


.dek-review-submit:hover {

    transform:
        translateY(-1px);

}


.dek-review-submit:disabled {

    opacity: .60;

    cursor: not-allowed;

    transform: none;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .dek-testimonial-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

    }


    .dek-testimonial-stats {

        grid-template-columns:
            repeat(2,1fr);

    }


    .dek-testimonial-stat:nth-child(2) {

        border-right: none;

    }

}


/* =========================================================
   PHONE
   ALL APPROVED CARDS
========================================================= */

@media (max-width: 600px) {

    .dek-testimonial-container {

        padding:
            42px 12px 30px;

    }


    .dek-testimonial-eyebrow {

        gap: 8px;

        font-size: 8px;

        letter-spacing: 2px;

    }


    .dek-testimonial-heading h2 {

        font-size: 25px;

    }


    .dek-testimonial-heading > p {

        max-width: 94%;

        font-size: 11px;

    }


    .dek-testimonial-grid {

        grid-template-columns: 1fr;

        gap: 12px;

    }


    .dek-testimonial-card {

        padding: 15px;

    }


    .dek-testimonial-text {

        min-height: auto;

        font-size: 12px;

    }


    .dek-testimonial-avatar {

        width: 48px;

        height: 48px;

        font-size: 12px;

    }


    .dek-testimonial-stats {

        grid-template-columns:
            repeat(2,1fr);

        margin-top: 30px;

        padding: 16px 0;

    }


    .dek-testimonial-stat {

        padding: 4px 8px;

        gap: 7px;

    }


    .dek-testimonial-stat:nth-child(2) {

        border-right: none;

    }


    .dek-testimonial-stat:nth-child(3),
    .dek-testimonial-stat:nth-child(4) {

        padding-top: 14px;

        border-top:
            1px solid
            rgba(230,200,117,.12);

    }


    .dek-testimonial-stat strong {

        font-size: 17px;

    }


    .dek-testimonial-stat span {

        font-size: 8px;

    }


    /* ================================================
       POPUP
    ================================================= */

    .dek-review-modal {

        padding: 9px !important;

    }


    .dek-review-box {

        width:
            calc(100vw - 18px);

        max-height:
            calc(100dvh - 18px);

        border-radius: 14px;

    }


    .dek-review-header {

        padding:
            16px;

    }


    .dek-review-header h3 {

        font-size: 20px;

    }


    .dek-review-header p {

        font-size: 10px;

    }


    .dek-review-form {

        padding:
            15px 16px 18px;

    }


    .dek-review-grid {

        grid-template-columns: 1fr;

        gap: 10px;

    }


    .dek-review-footer {

        flex-direction: column;

        align-items: stretch;

    }


    .dek-review-note {

        max-width: none;

    }


    .dek-review-submit {

        width: 100%;

    }

}


/* =========================================================
   SMALL PHONE
========================================================= */

@media (max-width: 380px) {

    .dek-testimonial-heading h2 {

        font-size: 22px;

    }


    .dek-testimonial-heading > p {

        font-size: 10px;

    }


    .dek-review-box {

        width:
            calc(100vw - 14px);

        max-height:
            calc(100dvh - 14px);

    }


    .dek-review-header {

        padding:
            14px;

    }


    .dek-review-form {

        padding:
            13px;

    }


    .dek-rating-star {

        width: 30px;

        height: 32px;

        flex-basis: 30px;

        font-size: 23px;

    }

}


/* =========================================================
   NO TESTIMONIAL CARD HIDING / NO CSS LIMIT
========================================================= */

.dek-testimonial-grid .dek-testimonial-card {
    display: block;
}

@media (max-width: 900px) {
    .dek-testimonial-grid .dek-testimonial-card {
        display: block;
    }
}
    