/* =========================================================
| SUPPORT PAGE
========================================================= */

.support-wrapper{

    min-height:100vh;

    padding:100px 15px;

    position:relative;

    overflow:hidden;

    background:
    linear-gradient(
        135deg,
        #0f172a,
        #1e293b,
        #2563eb
    );
}

/* =========================================================
| BACKGROUND GLOW
========================================================= */

.support-wrapper::before{

    content:'';

    position:absolute;

    width:420px;
    height:420px;

    background:#2563eb;

    border-radius:50%;

    filter:blur(140px);

    top:-120px;
    left:-120px;

    opacity:.25;
}

.support-wrapper::after{

    content:'';

    position:absolute;

    width:400px;
    height:400px;

    background:#7c3aed;

    border-radius:50%;

    filter:blur(140px);

    bottom:-150px;
    right:-100px;

    opacity:.22;
}

/* =========================================================
| CONTAINER
========================================================= */

.support-container{

    max-width:1100px;

    margin:auto;

    position:relative;

    z-index:2;
}

/* =========================================================
| CARD
========================================================= */

.support-card{

    background:
    rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:32px;

    padding:55px;

    box-shadow:
    0 15px 60px rgba(0,0,0,.35);
}

/* =========================================================
| HEADER
========================================================= */

.support-header{

    text-align:center;

    margin-bottom:45px;
}

/* BADGE */

.support-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:
    rgba(37,99,235,.15);

    border:1px solid rgba(255,255,255,.08);

    color:#93c5fd;

    padding:10px 18px;

    border-radius:50px;

    font-size:12px;

    font-weight:700;

    margin-bottom:22px;

    letter-spacing:.8px;
}

.support-badge i{

    font-size:13px;
}

/* TITLE */

.support-header h1{

    color:#fff;

    font-size:48px;

    font-weight:800;

    margin-bottom:16px;

    line-height:1.2;
}

/* SUBTITLE */

.support-header p{

    color:#cbd5e1;

    font-size:16px;

    line-height:1.8;

    max-width:700px;

    margin:auto;
}

/* =========================================================
| GRID
========================================================= */

.grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:28px;
}

/* =========================================================
| FORM GROUP
========================================================= */

.group{

    margin-bottom:28px;
}

.group label{

    display:block;

    color:#fff;

    font-size:14px;

    font-weight:700;

    margin-bottom:12px;
}

/* =========================================================
| INPUTS
========================================================= */

.group input,
.group select,
.group textarea{

    width:100%;

    border:none;

    outline:none;

    border-radius:18px;

    background:
    rgba(255,255,255,.10);

    color:#fff;

    font-size:15px;

    transition:.3s;

    border:1px solid transparent;
}

/* INPUT HEIGHT */

.group input,
.group select{

    height:62px;

    padding:0 20px;
}

/* TEXTAREA */

.group textarea{

    padding:20px;

    resize:none;

    min-height:180px;
}

/* PLACEHOLDER */

.group input::placeholder,
.group textarea::placeholder{

    color:#cbd5e1;
}

/* FOCUS */

.group input:focus,
.group select:focus,
.group textarea:focus{

    border-color:#60a5fa;

    background:
    rgba(255,255,255,.13);
}

/* =========================================================
| MESSAGE TOP
========================================================= */

.message-top{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:12px;
}

#charCount{

    color:#94a3b8;

    font-size:12px;
}

/* =========================================================
| FILE INPUT
========================================================= */

.group input[type=file]{

    padding:16px;

    height:auto;

    cursor:pointer;
}

.file-note{

    display:block;

    margin-top:10px;

    color:#94a3b8;

    font-size:12px;
}

/* =========================================================
| CAPTCHA
========================================================= */

.g-recaptcha{

    transform:scale(1);

    transform-origin:left top;
}

/* =========================================================
| BUTTON
========================================================= */

.submit-btn{

    width:100%;

    height:64px;

    border:none;

    border-radius:18px;

    background:
    linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.35s;

    margin-top:10px;

    box-shadow:
    0 12px 35px rgba(37,99,235,.35);
}

.submit-btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 18px 45px rgba(37,99,235,.45);
}

/* =========================================================
| ERRORS
========================================================= */

.error{

    display:block;

    color:#fca5a5;

    font-size:12px;

    margin-top:8px;
}

/* =========================================================
| RESPONSIVE
========================================================= */

@media(max-width:991px){

    .support-card{

        padding:40px 30px;
    }

    .support-header h1{

        font-size:38px;
    }
}

@media(max-width:768px){

    .support-wrapper{

        padding:70px 15px;
    }

    .support-card{

        padding:28px 22px;

        border-radius:24px;
    }

    .grid{

        grid-template-columns:1fr;

        gap:0;
    }

    .support-header{

        margin-bottom:35px;
    }

    .support-header h1{

        font-size:30px;
    }

    .support-header p{

        font-size:14px;
    }

    .group input,
    .group select{

        height:56px;
    }

    .group textarea{

        min-height:150px;
    }

    .submit-btn{

        height:58px;
    }

    /* CAPTCHA MOBILE */

    .g-recaptcha{

        transform:scale(.92);

        transform-origin:left top;
    }
}

@media(max-width:420px){

    .g-recaptcha{

        transform:scale(.82);
    }

    .support-header h1{

        font-size:26px;
    }
}

/* =========================================================
| SELECT DROPDOWN FIX
========================================================= */

.group select{

    appearance:none;

    -webkit-appearance:none;

    -moz-appearance:none;

    background:
    rgba(255,255,255,.10)

    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 5.646a.5.5 0 0 1 .708 0L8 11.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E")

    no-repeat right 18px center;

    padding-right:55px;

    color:#fff;
}

/* OPTIONS */

.group select option{

    background:#1e293b;

    color:#fff;

    padding:12px;
}

/* SELECT FOCUS */

.group select:focus{

    background-color:
    rgba(255,255,255,.14);

    color:#fff;
}

/* =========================================================
| TRACK SUPPORT
========================================================= */

.ticket-track-wrapper{

    margin-top:45px;

    padding-top:35px;

    border-top:1px solid rgba(255,255,255,.08);
}

/* TOP */

.ticket-track-top{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    margin-bottom:30px;
}

.ticket-label{

    display:block;

    color:#94a3b8;

    font-size:13px;

    margin-bottom:8px;
}

.ticket-track-top h2{

    color:#fff;

    font-size:30px;

    margin:0;
}

/* STATUS */

.ticket-status{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:140px;

    height:46px;

    border-radius:50px;

    font-size:13px;

    font-weight:700;

    color:#fff;

    padding:0 22px;
}

.ticket-status.open{

    background:#2563eb;
}

.ticket-status.in_progress{

    background:#f59e0b;
}

.ticket-status.resolved{

    background:#22c55e;
}

.ticket-status.closed{

    background:#ef4444;
}

/* PROGRESS */

.ticket-progress{

    width:100%;

    height:10px;

    border-radius:30px;

    overflow:hidden;

    background:
    rgba(255,255,255,.08);

    margin-bottom:35px;
}

.ticket-progress-bar{

    height:100%;

    border-radius:30px;
}

.ticket-progress-bar.open{

    width:25%;

    background:#2563eb;
}

.ticket-progress-bar.in_progress{

    width:65%;

    background:#f59e0b;
}

.ticket-progress-bar.resolved{

    width:100%;

    background:#22c55e;
}

.ticket-progress-bar.closed{

    width:100%;

    background:#ef4444;
}

/* GRID */

.ticket-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    margin-bottom:30px;
}

.ticket-info-card{

    background:
    rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.06);

    border-radius:20px;

    padding:22px;
}

.ticket-info-card span{

    display:block;

    color:#94a3b8;

    margin-bottom:10px;

    font-size:13px;
}

.ticket-info-card strong{

    color:#fff;

    font-size:15px;

    word-break:break-word;
}

/* BOX */

.ticket-box{

    background:
    rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.06);

    border-radius:24px;

    padding:28px;

    margin-bottom:24px;
}

.ticket-box h4{

    color:#fff;

    font-size:18px;

    margin-bottom:16px;
}

.ticket-box p{

    color:#cbd5e1;

    line-height:1.9;

    margin:0;
}

/* ATTACHMENT */

.attachment-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:14px 22px;

    border-radius:14px;

    background:#2563eb;

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.3s;
}

.attachment-btn:hover{

    background:#1d4ed8;

    color:#fff;
}

/* REPLY */

.admin-reply-box{

    background:
    linear-gradient(
        135deg,
        rgba(37,99,235,.16),
        rgba(124,58,237,.16)
    );

    border:1px solid rgba(255,255,255,.08);

    border-radius:28px;

    overflow:hidden;
}

.reply-header{

    padding:20px 25px;

    background:
    rgba(255,255,255,.06);

    color:#fff;

    font-weight:700;

    display:flex;

    align-items:center;

    gap:12px;
}

.reply-content{

    padding:28px;

    color:#e2e8f0;

    line-height:1.9;
}

/* ERROR */

.track-error{

    display:flex;

    align-items:center;

    gap:12px;

    background:#ef4444;

    color:#fff;

    padding:16px 18px;

    border-radius:16px;

    margin-bottom:24px;
}

/* RESPONSIVE */

@media(max-width:991px){

    .ticket-grid{

        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:768px){

    .ticket-track-top{

        flex-direction:column;

        align-items:flex-start;
    }

    .ticket-grid{

        grid-template-columns:1fr;
    }

    .ticket-track-top h2{

        font-size:22px;
    }

    .ticket-status{

        min-width:auto;
    }
}