/* ==========================================================
   SUPPORT PAGE
========================================================== */

.support-section{

    position:relative;

    overflow:hidden;

    background:#050816;

    padding:140px 0;

}

/* Background */

.support-section::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    radial-gradient(circle at top right,
    rgba(37,99,235,.15),
    transparent 35%),

    radial-gradient(circle at bottom left,
    rgba(6,182,212,.08),
    transparent 40%),

    linear-gradient(
        rgba(255,255,255,.03) 1px,
        transparent 1px
    ),

    linear-gradient(
        90deg,
        rgba(255,255,255,.03) 1px,
        transparent 1px
    );

    background-size:
    auto,
    auto,
    60px 60px,
    60px 60px;

    z-index:0;

}

/* ==========================================================
   WRAPPER
========================================================== */

.support-wrapper{

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 1.0fr 1.3fr;

    gap: 80px;

    align-items: start;

}

/* ==========================================================
   LEFT CONTENT
========================================================== */

.support-content{

    max-width:650px;

}

.eyebrow{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:8px 18px;

    border-radius:999px;

    background:rgba(37,99,235,.08);

    color:#60a5fa;

    font-size:.8rem;

    letter-spacing:2px;

    text-transform:uppercase;

    font-weight:700;

    margin-bottom:25px;

}

.support-content h1{

    font-size:clamp(3.8rem,7vw,3rem);

    line-height:.95;

    font-weight:800;

    color:#fff;

    margin-bottom:18px;

}

.highlight{

    background:linear-gradient(
        90deg,
        #2563eb,
        #60a5fa
    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

}

.support-content h3{

    font-size:1.7rem;

    color:#ffffff;

    margin-bottom:25px;

    font-weight:600;

}

.support-content .intro{

    color:#94a3b8;

    font-size:1.08rem;

    line-height:1.9;

    margin-bottom:55px;

}



/* ==========================================================
   SUPPORT STEPS
========================================================== */

.steps{

    display:flex;

    flex-direction:column;

    gap:28px;

    margin-bottom:55px;

}

.step{

    display:flex;

    align-items:flex-start;

    gap:20px;

    padding:22px 26px;

    border-radius:20px;

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(12px);

    transition:.35s ease;

    position:relative;

    overflow:hidden;

}

.step::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(37,99,235,.12),
        transparent 55%
    );

    opacity:0;

    transition:.35s;

}

.step:hover{

    transform:translateY(-6px);

    border-color:rgba(37,99,235,.30);

    box-shadow:
        0 18px 40px rgba(37,99,235,.15);

}

.step:hover::before{

    opacity:1;

}

.step-number{

    flex-shrink:0;

    width:58px;

    height:58px;

    border-radius:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1rem;

    font-weight:700;

    color:#fff;

    background:linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );

    box-shadow:
        0 12px 25px rgba(37,99,235,.30);

}

.step p{

    color:#cbd5e1;

    line-height:1.8;

    margin:0;

    font-size:1rem;

}

/* ==========================================================
   REVIEW CARD
========================================================== */

.support-review{

    display:flex;

    align-items:center;

    gap:20px;

    padding:26px;

    border-radius:22px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    transition:.35s;

}

.support-review:hover{

    transform:translateY(-6px);

    box-shadow:
        0 20px 50px rgba(37,99,235,.18);

}

.review-icon{

    width:70px;

    height:70px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );

    color:#fff;

    font-size:1.4rem;

    flex-shrink:0;

}

.support-review strong{

    display:block;

    color:#fff;

    font-size:1.15rem;

    margin-bottom:6px;

}

.support-review p{

    color:#94a3b8;

    margin:0;

    line-height:1.7;

}

/* ==========================================================
   TICKET CARD
========================================================== */

.ticket-card{

    position: relative;

    width: 100%;

    max-width: 1000px; /* Increase to 800px, 900px, or 1000px if needed */

    margin: 0 auto;

    padding: 50px;

    border-radius: 30px;

    background: rgba(255,255,255,.05);

    backdrop-filter: blur(28px);

    border: 1px solid rgba(255,255,255,.08);

    box-shadow: 0 30px 80px rgba(0,0,0,.35);

    overflow: hidden;

}

.ticket-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(
        135deg,
        rgba(255,255,255,.08),
        transparent 45%
    );

    pointer-events:none;

}

.ticket-card h2{

    color:#fff;

    font-size:2.3rem;

    margin-bottom:15px;

    text-align:center;

    font-weight:700;

}

.ticket-card>p{

    color:#94a3b8;

    text-align:center;

    line-height:1.8;

    margin-bottom:40px;

}

/* ==========================================================
   FORM
========================================================== */

.ticket-form{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.form-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.form-group{

    display:flex;

    flex-direction:column;

    gap:8px;

}

.form-group label{

    color:#dbeafe;

    font-size:.9rem;

    font-weight:600;

}

.form-control{

    width:100%;

    padding:16px 18px;

    border-radius:16px;

    border:1px solid rgba(255,255,255,.08);

    background:rgba(255,255,255,.04);

    color:#747373;

    font-size:1rem;

    transition:.35s;

}

.form-control::placeholder{

    color:#64748b;

}

.form-control:focus{

    outline:none;

    border-color:#2563eb;

    background:rgba(255,255,255,.06);

    box-shadow:

        0 0 0 4px rgba(37,99,235,.15);

}

select.form-control{

    cursor:pointer;

}

textarea.form-control{

    min-height:170px;

    resize:vertical;

}

/* ==========================================================
   BUTTON
========================================================== */

.ticket-form .btn{

    width:100%;

    padding:18px;

    border:none;

    border-radius:16px;

    font-size:1rem;

    font-weight:700;

    cursor:pointer;

    transition:.35s;

    background:linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );

    color:#fff;

}

.ticket-form .btn:hover{

    transform:translateY(-4px);

    box-shadow:

        0 20px 45px rgba(37,99,235,.35);

}

/* ==========================================================
   SUCCESS / ERROR
========================================================== */

.form-success,

.form-error{

    display:none;

    margin-top:8px;

    padding:16px;

    border-radius:14px;

    font-weight:500;

}

.form-success{

    background:rgba(34,197,94,.12);

    border:1px solid rgba(34,197,94,.25);

    color:#4ade80;

}

.form-error{

    background:rgba(239,68,68,.12);

    border:1px solid rgba(239,68,68,.25);

    color:#f87171;

}

.form-success.show,

.form-error.show{

    display:block;

}



/* ==========================================================
   FLOATING DECORATION
========================================================== */

.support-section::after{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    right:-250px;

    top:-180px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(37,99,235,.18),
        transparent 70%
    );

    filter:blur(80px);

    animation:blobFloat 12s ease-in-out infinite;

    z-index:0;

}

@keyframes blobFloat{

    0%{
        transform:translateY(0) scale(1);
    }

    50%{
        transform:translateY(40px) scale(1.08);
    }

    100%{
        transform:translateY(0) scale(1);
    }

}

/* ==========================================================
   HOVER EFFECTS
========================================================== */

.ticket-card{

    transition:.45s ease;

}

.ticket-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 35px 80px rgba(37,99,235,.18);

}

.form-control{

    transition:
        border-color .3s,
        box-shadow .3s,
        transform .3s;

}

.form-control:hover{

    border-color:rgba(96,165,250,.45);

}

.ticket-form button{

    position:relative;

    overflow:hidden;

}

.ticket-form button::before{

    content:"";

    position:absolute;

    left:-100%;

    top:0;

    width:100%;

    height:100%;

    background:

    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.18),
        transparent
    );

    transition:.6s;

}

.ticket-form button:hover::before{

    left:100%;

}

/* ==========================================================
   FADE IN ANIMATION
========================================================== */

.support-content{

    animation:leftFade .9s ease;

}

.ticket-card{

    animation:rightFade 1s ease;

}

@keyframes leftFade{

    from{

        opacity:0;

        transform:translateX(-60px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

@keyframes rightFade{

    from{

        opacity:0;

        transform:translateX(60px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1200px){

    .support-wrapper{

        gap:60px;

    }

}

@media(max-width:992px){

    .support-section{

        padding:110px 0;

    }

    .support-wrapper{

        grid-template-columns:1fr;

        gap:60px;

    }

    .support-content{

        max-width:100%;

    }

    .ticket-card{

        max-width:750px;

        margin:auto;

    }

}

@media(max-width:768px){

    .support-section{

        padding:90px 0;

    }

    .support-content h1{

        font-size:3rem;

    }

    .support-content h3{

        font-size:1.3rem;

    }

    .support-content .intro{

        font-size:1rem;

    }

    .ticket-card{

        padding:30px;

    }

    .ticket-card h2{

        font-size:2rem;

    }

    .form-row{

        grid-template-columns:1fr;

    }

    .ticket-form .btn{

        width:100%;

    }

}

@media(max-width:576px){

    .support-content h1{

        font-size:2.4rem;

    }

    .step{

        flex-direction:column;

        text-align:center;

        align-items:center;

    }

    .support-review{

        flex-direction:column;

        text-align:center;

    }

    .ticket-card{

        padding:25px;

        border-radius:24px;

    }

}

