@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

html,
body{
    width:100%;
    height:100%;
}

body{
    background:#fff;
    overflow:hidden;
}

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

.container{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

/* ===============================
   GAMBAR KIRI
================================ */

.left-side{

    position:absolute;

    left:0;
    top:0;

    width:55%;
    height:100vh;

    overflow:hidden;
}

.left-side img{

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;

    transform:scale(1.25);
}

/* ===============================
   PANEL FORM
================================ */

.right-side{
    position:absolute;

    top:0;
    right:0;

    width:52%;
    height:100vh;

    background:#fff;

    border-radius:90px 0 0 90px;

    /* Konten di-center vertikal, tapi pakai "safe center":
       kalau kontennya muat di layar -> tampil di tengah (turun
       dari atas). Kalau suatu saat kontennya lebih tinggi dari
       layar -> otomatis jatuh ke perataan atas (bukan kepotong
       & tak bisa di-scroll seperti bug sebelumnya). */
    display:flex;
    justify-content:center;
    align-items:safe center;

    overflow-y:auto;
    padding:24px 0;

    z-index:10;

    box-shadow:-20px 0 40px rgba(0,0,0,0.05);
}

/* ===============================
   FORM CARD
================================ */

.reg-card{
    width:80%;
    max-width:600px;
}

.reg-card h1{

    text-align:left;

    font-size:clamp(24px, 2.2vw, 36px);
    font-weight:600;

    line-height:1.2;

    margin-bottom:clamp(14px, 1.8vw, 24px);
}

.input-group{
    margin-bottom:clamp(10px, 1.1vw, 15px);
}

.section-title{
    text-align:center;

    font-size:clamp(14px, 1.1vw, 17px);
    font-weight:500;
    color:#555;

    margin-bottom:clamp(12px, 1.4vw, 18px);
}

/* Baris 2 kolom (Tempat Lahir & Tanggal Lahir, Jenis Kelamin & Nomor HP) */
.input-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(12px, 1.2vw, 18px);
}

.reg-card label{

    display:block;

    margin-bottom:clamp(4px, 0.5vw, 8px);

    font-size:clamp(13px, 1vw, 16px);
    font-weight:400;
}

.reg-card input,
.reg-card select{

    width:100%;
    height:clamp(40px, 3.6vw, 52px);

    border:1px solid rgba(0,0,0,0.3);
    border-radius:clamp(14px, 1.4vw, 20px);

    padding:0 clamp(14px, 1.4vw, 20px);

    font-family:'Poppins',sans-serif;
    font-size:clamp(13px, 0.9vw, 15px);
    color:#000;

    background:#fff;

    transition:.25s;
}

.reg-card select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' stroke='%23555' stroke-width='2' fill='none' fill-rule='evenodd'/></svg>");
    background-repeat:no-repeat;
    background-position:right clamp(14px, 1.4vw, 20px) center;

    cursor:pointer;
}

.reg-card input::placeholder{
    color:#9d9d9d;
}

.reg-card input:focus,
.reg-card select:focus{
    outline:none;
    border-color:#2F8E58;
}

/* ===============================
   CHECKBOX
================================ */

.checkbox-group{
    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:clamp(12px, 1.4vw, 18px);
}

.checkbox-group input[type="checkbox"]{
    width:18px;
    height:18px;

    accent-color:#2F8E58;

    cursor:pointer;

    flex-shrink:0;
}

.checkbox-group label{
    font-size:clamp(12px, 0.9vw, 14px);
    font-weight:400;

    cursor:pointer;
}

/* ===============================
   TOMBOL KEMBALI / NEXT
   (sekarang berupa <a>, bukan <button>, supaya bisa
   langsung navigasi ke halaman lain lewat href)
================================ */

.btn-row{
    display:flex;
    justify-content:space-between;
    align-items:center;

    gap:16px;

    margin-top:clamp(12px, 1.6vw, 20px);
}

.btn-back,
.btn-next{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;
}

.btn-back{

    height:clamp(40px, 3.4vw, 52px);

    padding:0 clamp(20px, 1.8vw, 30px);

    border:1px solid rgba(0,0,0,0.3);
    border-radius:40px;

    background:#fff;

    color:#000;

    font-family:'Poppins',sans-serif;
    font-size:clamp(14px, 1vw, 17px);
    font-weight:700;

    cursor:pointer;

    transition:.25s;
}

.btn-back:hover{
    background:#f5f5f5;
}

.btn-next{

    height:clamp(40px, 3.4vw, 52px);

    padding:0 clamp(24px, 2vw, 36px);

    border:1px solid rgba(0,0,0,0.3);
    border-radius:40px;

    background:#308F59;

    color:#fff;

    font-family:'Poppins',sans-serif;
    font-size:clamp(14px, 1vw, 17px);
    font-weight:700;

    cursor:pointer;

    transition:.25s;
}

.btn-next:hover{
    background:#257349;
}

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

@media(max-width:1100px){

    .left-side{
        display:none;
    }

    .right-side{
        width:100%;
        border-radius:0;
    }

    .reg-card{
        width:90%;
    }

}