/* ==================================================
   CONTACT PAGE
================================================== */

.contact-hero{

    max-width:1400px;

    margin:120px auto 40px;

    padding:0 20px;
}

.contact-container{

    text-align:center;

    padding:80px 40px;

    border-radius:32px;

    background:
    linear-gradient(
        135deg,
        rgba(255,255,255,.96),
        rgba(246,243,255,.96)
    );

    border:1px solid rgba(255,255,255,.9);

    box-shadow:
    0 25px 80px rgba(91,61,245,.08);

    position:relative;

    overflow:hidden;
}

.contact-container::before{

    content:'';

    position:absolute;

    top:-120px;
    right:-120px;

    width:280px;
    height:280px;

    border-radius:50%;

    background:
    radial-gradient(
        rgba(91,61,245,.12),
        transparent 70%
    );
}

.contact-badge{

    display:inline-flex;

    align-items:center;

    padding:10px 18px;

    border-radius:999px;

    background:#f4f1ff;

    color:#5b3df5;

    font-size:13px;

    font-weight:700;

    margin-bottom:20px;
}

.contact-container h1{

    font-size:64px;

    font-weight:800;

    color:#111827;

    line-height:1.1;

    margin-bottom:16px;
}

.contact-container p{

    max-width:700px;

    margin:auto;

    color:#667085;

    line-height:1.9;

    font-size:17px;
}

/* ==================================================
   CONTACT INFO
================================================== */

.contact-info-section{

    max-width:1400px;

    margin:0 auto 50px;

    padding:0 20px;
}

.contact-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:20px;
}

.contact-card{

    background:#fff;

    border-radius:24px;

    padding:32px;

    text-align:center;

    border:1px solid #eef0ff;

    box-shadow:
    0 12px 35px rgba(91,61,245,.05);

    transition:.3s;
}

.contact-card:hover{

    transform:translateY(-6px);

    box-shadow:
    0 20px 50px rgba(91,61,245,.08);
}

.contact-icon{

    width:72px;
    height:72px;

    margin:0 auto 20px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:20px;

    background:#f4f1ff;

    color:#5b3df5;

    font-size:28px;
}

.contact-card h3{

    font-size:22px;

    color:#111827;

    margin-bottom:12px;
}

.contact-card p{

    color:#667085;

    line-height:1.8;

    margin-bottom:15px;
}

.contact-card a{

    color:#5b3df5;

    font-weight:700;

    text-decoration:none;
}

/* ==================================================
   CONTACT FORM
================================================== */

.contact-form-section{

    max-width:1400px;

    margin:0 auto 80px;

    padding:0 20px;
}

.contact-layout{

    display:grid;

    grid-template-columns:
    1.3fr .7fr;

    gap:25px;
}

.contact-form-card,
.social-card,
.support-card{

    background:#fff;

    border-radius:28px;

    padding:35px;

    border:1px solid #eef0ff;

    box-shadow:
    0 12px 35px rgba(91,61,245,.05);
}

.contact-form-card h2{

    font-size:34px;

    color:#111827;

    margin-bottom:10px;
}

.contact-form-card p{

    color:#667085;

    margin-bottom:25px;
}

.form-group{

    margin-bottom:18px;
}

.form-group label{

    display:block;

    margin-bottom:8px;

    color:#374151;

    font-weight:600;

    font-size:14px;
}

.form-group input,
.form-group textarea{

    width:100%;

    border:none;

    outline:none;

    padding:16px 18px;

    border-radius:14px;

    border:1px solid #e5e7eb;

    background:#fafafa;

    font-size:15px;

    transition:.3s;
}

.form-group input:focus,
.form-group textarea:focus{

    border-color:#5b3df5;

    background:#fff;
}

/* ==================================================
   BUTTONS
================================================== */

.contact-btn{

    position:relative;

    overflow:hidden;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    border:none;

    cursor:pointer;

    text-decoration:none;

    padding:15px 30px;

    border-radius:14px;

    color:#fff;

    font-weight:700;

    background:
    linear-gradient(
        135deg,
        #5b3df5,
        #9333ea
    );

    box-shadow:
    0 12px 30px rgba(91,61,245,.25);
}

.contact-btn::before{

    content:'';

    position:absolute;

    top:0;
    left:-120%;

    width:60%;
    height:100%;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.35),
        transparent
    );

    transform:skewX(-25deg);

    animation:contactShine 4s infinite;
}

@keyframes contactShine{

    0%{
        left:-120%;
    }

    30%{
        left:140%;
    }

    100%{
        left:140%;
    }
}

.contact-outline-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    padding:14px 24px;

    border-radius:14px;

    border:1px solid #d8d3ff;

    color:#5b3df5;

    font-weight:700;

    background:#fff;
}

/* ==================================================
   SIDE CARDS
================================================== */

.contact-side{

    display:flex;

    flex-direction:column;

    gap:25px;
}

.social-card h3,
.support-card h3{

    color:#111827;

    margin-bottom:12px;
}

.social-card p,
.support-card p{

    color:#667085;

    line-height:1.8;

    margin-bottom:20px;
}

/* ==================================================
   SOCIAL
================================================== */

.social-bar{

    display:flex;

    gap:12px;

    flex-wrap:wrap;
}

.social-bar a{

    width:52px;
    height:52px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:16px;

    color:#fff;

    text-decoration:none;

    font-size:20px;

    transition:.3s;
}

.social-bar a:hover{

    transform:translateY(-4px);
}

.instagram{

    background:#E4405F;
}

.youtube{

    background:#FF0000;
}

.twitter{

    background:#111827;
}

.linkedin{

    background:#0A66C2;
}

/* ==================================================
   CTA
================================================== */

.contact-footer-cta{

    max-width:1400px;

    margin:0 auto 100px;

    padding:0 20px;
}

.cta-box{

    text-align:center;

    padding:60px 40px;

    border-radius:32px;

    background:
    linear-gradient(
        135deg,
        #f8f6ff,
        #f1edff
    );

    border:1px solid #e9e5ff;
}

.cta-box h2{

    font-size:42px;

    color:#111827;

    margin-bottom:12px;
}

.cta-box p{

    color:#667085;

    max-width:650px;

    margin:0 auto 25px;

    line-height:1.9;
}

/* ==================================================
   RESPONSIVE
================================================== */

@media(max-width:991px){

    .contact-grid{

        grid-template-columns:1fr;
    }

    .contact-layout{

        grid-template-columns:1fr;
    }

    .contact-container h1{

        font-size:48px;
    }
}

@media(max-width:768px){

    .contact-hero{

        margin-top:95px;
    }

    .contact-container{

        padding:50px 25px;
    }

    .contact-container h1{

        font-size:36px;
    }

    .contact-container p{

        font-size:15px;
    }

    .contact-form-card,
    .social-card,
    .support-card{

        padding:25px;
    }

    .contact-form-card h2{

        font-size:28px;
    }

    .cta-box{

        padding:40px 25px;
    }

    .cta-box h2{

        font-size:30px;
    }

    .contact-btn,
    .contact-outline-btn{

        width:100%;
    }
}