/* ==================================================
   HERO CONTACT PREMIUM DMHT
================================================== */

.contact-hero{
    position:relative;
    overflow:hidden;
    min-height:80vh;
    display:flex;
    align-items:center;
    padding:120px 0;

    background:linear-gradient(
        135deg,
        #071A2F 0%,
        #0A84FF 55%,
        #00D4FF 100%
    );
}

.contact-hero .container{
    position:relative;
    z-index:2;
}

/* ==================================================
   SHAPES
================================================== */

.hero-shape{
    position:absolute;
    border-radius:50%;
    filter:blur(120px);
    opacity:.3;
    pointer-events:none;
    animation:floating 10s ease-in-out infinite;
}

.contact-hero .shape-1{
    width:400px;
    height:400px;
    background:#00E5C7;
    top:-120px;
    left:-120px;
}

.contact-hero .shape-2{
    width:350px;
    height:350px;
    background:#ffffff;
    right:-120px;
    top:120px;
}

/* ==================================================
   BADGE
================================================== */

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:14px 28px;

    border-radius:50px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.15);

    color:#fff;

    font-weight:700;

    margin-bottom:30px;
}

/* ==================================================
   TITLE
================================================== */

.contact-hero h1{
    font-size:clamp(3rem,7vw,5.5rem);
    font-weight:900;
    line-height:1.05;
    color:#fff;
    margin-bottom:25px;
}

.contact-hero h1 span{
    display:block;

    background:linear-gradient(
        90deg,
        #ffffff,
        #dff9ff
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* ==================================================
   TEXT
================================================== */

.contact-hero p{
    max-width:800px;
    margin:auto;

    color:rgba(255,255,255,.92);

    font-size:1.15rem;

    line-height:1.9;
}

/* ==================================================
   BUTTON
================================================== */

.btn-primary-custom{
    display:inline-flex;
    align-items:center;
    gap:12px;

    margin-top:40px;

    padding:18px 40px;

    border-radius:18px;

    text-decoration:none;

    color:#fff;

    font-weight:700;

    background:linear-gradient(
        135deg,
        #00E5C7,
        #00D4FF
    );

    box-shadow:
    0 25px 50px rgba(0,212,255,.25);

    transition:.4s;
}

.btn-primary-custom:hover{
    color:#fff;
    transform:translateY(-5px);

    box-shadow:
    0 35px 70px rgba(0,212,255,.35);
}

/* ==================================================
   CONTACT SECTION
================================================== */

.contact-section{
    position:relative;
    overflow:hidden;

    padding:120px 0;

    background:
    linear-gradient(
        180deg,
        #F4F9FF 0%,
        #FFFFFF 50%,
        #F8FCFF 100%
    );
}

/* ==================================================
   SHAPES
================================================== */

.contact-section .shape-1{
    position:absolute;

    width:450px;
    height:450px;

    border-radius:50%;

    background:#00D4FF;

    top:-150px;
    left:-150px;

    opacity:.15;

    filter:blur(120px);
}

/* ==================================================
   LEFT CARD
================================================== */

.contact-info-card{
    position:relative;

    padding:55px;

    border-radius:35px;

    overflow:hidden;

    color:#fff;

    background:
    linear-gradient(
        145deg,
        #071A2F,
        #0A84FF
    );

    box-shadow:
    0 30px 80px rgba(10,132,255,.20);
}

.contact-info-card::before{
    content:"";

    position:absolute;

    width:280px;
    height:280px;

    border-radius:50%;

    background:
    rgba(255,255,255,.08);

    top:-100px;
    right:-100px;
}

.section-tag{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:12px 24px;

    border-radius:50px;

    background:
    rgba(255,255,255,.12);

    backdrop-filter:blur(20px);

    font-size:.85rem;
    font-weight:700;

    margin-bottom:25px;
}

.contact-info-card h2{
    font-size:2.7rem;
    font-weight:900;
    margin-bottom:20px;
}

.contact-description{
    line-height:1.9;
    opacity:.9;
    margin-bottom:35px;
}

/* ==================================================
   INFO BOX
================================================== */

.contact-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.info-box{
    display:flex;
    align-items:center;
    gap:18px;

    padding:22px;

    border-radius:22px;

    background:
    rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    transition:.4s;
}

.info-box:hover{
    transform:translateX(8px);
}

.icon{
    width:65px;
    height:65px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    color:#fff;

    flex-shrink:0;
}

.phone{
    background:linear-gradient(
        135deg,
        #00E5C7,
        #00C9A7
    );
}

.mail{
    background:linear-gradient(
        135deg,
        #FFB347,
        #FF7A18
    );
}

.address{
    background:linear-gradient(
        135deg,
        #8B5CF6,
        #6D28D9
    );
}

.icon i{
    font-size:1.4rem;
}

.info-box small{
    color:rgba(255,255,255,.75);
}

.info-box h6{
    margin:0;
    font-weight:700;
}

.contact-badge{
    margin-top:30px;

    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:14px 24px;

    border-radius:50px;

    background:
    rgba(255,255,255,.10);

    font-weight:700;
}

/* ==================================================
   FORM CARD
================================================== */

.contact-form-card{
    padding:55px;

    border-radius:35px;

    background:#fff;

    border:1px solid rgba(15,23,42,.05);

    box-shadow:
    0 30px 80px rgba(15,23,42,.08);
}

.form-header span{
    color:#0A84FF;
    font-weight:700;
    text-transform:uppercase;
}

.form-header h3{
    margin-top:10px;

    font-size:2.2rem;

    font-weight:900;

    color:#071A2F;
}

.form-header p{
    color:#64748B;

    margin-top:15px;
    margin-bottom:35px;
}

/* ==================================================
   DJANGO FORM
================================================== */

.contact-form-card p{
    margin-bottom:22px;
}

.contact-form-card label{
    display:block;
    margin-bottom:10px;

    font-weight:700;

    color:#0F172A;
}

.contact-form-card input,
.contact-form-card textarea,
.contact-form-card select{
    width:100%;

    padding:16px 20px;

    border-radius:18px;

    border:1px solid #E2E8F0;

    background:#F8FAFC;

    transition:.3s;
}

.contact-form-card input:focus,
.contact-form-card textarea:focus,
.contact-form-card select:focus{
    outline:none;

    border-color:#0A84FF;

    background:#fff;

    box-shadow:
    0 0 0 5px rgba(10,132,255,.12);
}

.contact-form-card textarea{
    min-height:180px;
    resize:none;
}

/* ==================================================
   BUTTON
================================================== */

.btn-contact{
    width:100%;

    border:none;

    padding:18px;

    border-radius:18px;

    color:#fff;

    font-weight:800;

    background:
    linear-gradient(
        135deg,
        #0A84FF,
        #00D4FF
    );

    transition:.4s;

    box-shadow:
    0 20px 40px rgba(10,132,255,.25);
}

.btn-contact:hover{
    transform:translateY(-4px);

    box-shadow:
    0 30px 60px rgba(10,132,255,.35);
}

/* ==================================================
   ANIMATION
================================================== */

@keyframes floating{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-25px);
    }
}

/* ==================================================
   RESPONSIVE
================================================== */

@media(max-width:992px){

    .contact-info-card,
    .contact-form-card{
        padding:40px;
    }

    .contact-info-card h2{
        font-size:2.2rem;
    }
}

@media(max-width:768px){

    .contact-hero{
        min-height:auto;
        padding:100px 0;
    }

    .contact-section{
        padding:80px 0;
    }

    .contact-info-card,
    .contact-form-card{
        padding:30px;
        border-radius:25px;
    }

    .contact-hero h1{
        font-size:2.5rem;
    }

    .contact-info-card h2,
    .form-header h3{
        font-size:1.8rem;
    }

    .btn-primary-custom,
    .btn-contact{
        width:100%;
        justify-content:center;
    }
}