/* PAGE */
.hubungi-page{
    padding:70px 0;
    background:#fff;
}

/* HERO */
.hubungi-hero{
    background:linear-gradient(
        135deg,
        var(--primary),
        #1e40af
    );
    border-radius:24px;
    padding:50px;
    color:#fff;
    margin-bottom:35px;
    position:relative;
    overflow:hidden;
}

.hubungi-hero::before{
    content:'';
    position:absolute;
    right:-80px;
    top:-80px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
}

.hero-content{
    max-width:700px;
    position:relative;
    z-index:2;
}

.hero-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.15);
    font-size:13px;
    font-weight:600;
    margin-bottom:18px;
}

.hero-content h1{
    font-size:40px;
    font-weight:700;
    margin-bottom:14px;
}

.hero-content p{
    font-size:16px;
    line-height:1.8;
    color:rgba(255,255,255,.92);
}

/* CARD */
.hubungi-card{
    max-width:850px;
    margin:0 auto;
    background:#fff;
    border:1px solid var(--border);
    border-radius:20px;
    padding:35px;
    box-shadow:0 15px 35px rgba(0,0,0,.06);
}

/* FORM */
.form-group{
    margin-bottom:20px;
}

.form-group label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
    color:var(--text);
}

.form-control{
    width:100%;
    padding:14px 18px;
    border:1px solid var(--border);
    border-radius:12px;
    outline:none;
    transition:.3s ease;
}

.form-control:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(105,118,238,.08);
}

/* BUTTON */
.btn-submit{
    width:100%;
    border:none;
    padding:16px;
    border-radius:14px;
    background:#25D366;
    color:#fff;
    font-weight:600;
    font-size:15px;
    transition:.3s ease;
}

.btn-submit:hover{
    transform:translateY(-2px);
}

@media(max-width:768px){

    .hubungi-page{
        padding:50px 0;
    }

    .hubungi-hero{
        padding:35px;
    }

    .hero-content h1{
        font-size:28px;
    }

    .hubungi-card{
        padding:24px;
    }
}

/* VALIDATION */
.form-control.is-invalid{
    border-color:#ef4444;
    box-shadow:0 0 0 4px rgba(239,68,68,.08);
}

/* LOADING BUTTON */
.btn-submit.loading{
    opacity:.85;
    cursor:not-allowed;
}