/* General Body Styles */
body {
    font-family: 'Spartan', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background-color: #F4F5FF; /* Light background color */
    display: flex;
    flex-direction: column; /* Stack elements vertically */
    justify-content: center;
    align-items: center;
    height: 100vh; /* Full height viewport */
}

/* Back Button Styling */
.back {
    font-size: 16px; /* Font size */
    color: #2F1C7D; /* Text color */
    font-weight: 600; /* Semibold font weight */
    text-decoration: none; /* Remove underline for anchor tag */
    margin-bottom: 20px; /* Add spacing below */
    display: flex; /* Align arrow and text horizontally */
    align-items: center; /* Vertically align content */
    cursor: pointer; /* Pointer cursor on hover */
}

.back span {
    margin-left: 5px; /* Space between arrow and text */
}

/* Container Styling */
.container {
    background-color: white;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Box shadow for subtle elevation */
    border-radius: 10px;
    padding: 20px;
    width: 90%; /* Responsive width */
    max-width: 400px; /* Fixed maximum width */
    text-align: center; /* Center content */
}

/* Logo Section */
.logo img {
    width: 80%; /* Scale logo to fit container */
    max-width: 80%;
    margin-bottom: 20px;
}

/* Google Login Styling */
.google-login {
    display: flex;
    align-items: center; /* Align text and logo vertically */
    justify-content: center; /* Center content horizontally */
    border: 1px solid #ccc; /* Light gray border */
    border-radius: 5px; /* Rounded corners */
    padding: 10px; /* Inner padding */
    margin-bottom: 20px; /* Space below button */
    cursor: pointer; /* Pointer cursor on hover */
}

.google-logo {
    width: 20px; /* Google logo size */
    margin-right: 10px; /* Space between logo and text */
}

.google-login img {
    margin-right: 10px; /* Space between logo and text */
}

/* Separator Styling */
.separator {
    margin: 20px 0; /* Space above and below separator */
    display: flex;
    align-items: center;
    justify-content: center;
}

.separator::before,
.separator::after {
    content: ''; /* Empty content for line separators */
    flex: 1;
    border-bottom: 1px solid #ccc; /* Line style */
}

.separator span {
    margin: 0 10px; /* Space between lines and text */
    color: #999; /* Light gray text color */
}

/* Input Group Styling */
.input-group {
    margin-bottom: 20px; /* Space below each input group */
    text-align: left; /* Align labels to the left */
}

.input-group label {
    display: block; /* Ensure label is on its own line */
    margin-bottom: 5px; /* Space below label */
    font-weight: 600; /* Semibold font weight */
}

.field-container label {
    display: block; /* Ensure label is on its own line */
    margin-bottom: 5px; /* Space below label */
    font-weight: 600; /* Semibold font weight */
}

.input-group input {
    width: 95%; /* Match input width to container */
    padding: 10px; /* Inner padding */
    border: 1px solid #ccc; /* Border style */
    border-radius: 5px; /* Rounded corners */
}

/* Field Container Styling */
.field-container {
    width: 95%; /* Match width to container */
    position: relative; /* For positioning eye icon */
    margin-bottom: 20px; /* Space below field */
    text-align: left; /* Align labels to the left */
}

/* Password Input Styling */
.field-container input {
    width: 100%; /* Match width to container */
    padding: 10px; /* Inner padding */
    border: 1px solid #ccc; /* Border style */
    border-radius: 5px; /* Rounded corners */
}

.toggle-visibility {
    position: absolute; /* Position within input field */
    right: -10px; /* Align to the right */
    top: 65%; /* Center vertically */
    transform: translateY(-50%); /* Adjust position */
    cursor: pointer; /* Pointer cursor on hover */
    font-size: 18px; /* Icon size */
}

/* Continue Button Styling */
.continue-button {
    width: 100%; /* Match width to inputs */
    padding: 10px; /* Inner padding */
    background: linear-gradient(90deg, #0368FF, #C27FCF); /* Gradient background */
    color: white; /* Text color */
    font-family: 'Spartan', sans-serif; /* Font style */
    font-size: 16px; /* Font size */
    font-weight: bold; /* Bold font weight */
    border: none; /* Remove borders */
    border-radius: 5px; /* Rounded corners */
    cursor: pointer; /* Pointer cursor on hover */
    text-transform: none; /* No uppercase transformation */
    margin-top: 20px; /* Space above button */
}

.continue-button:hover {
    background: linear-gradient(90deg, #C27FCF, #0368FF); /* Hover effect */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* Shadow on hover */
}

/* Login Link Styling */
.login-link {
    margin-top: 20px; /* Space above link */
    font-weight: 600; /* Semibold font weight */
}

.login-link a {
    color: #000; /* Link text color */
    text-decoration: none; /* Remove underline */
    font-weight: bold; /* Bold font weight for "LOGIN" text */
}

.input-group2 {
    display: flex;
    justify-content: flex-start; /* Posisi ke kiri */
    align-items: center;
    margin-bottom: 10px;
    margin-top: -10px;
}

.input-group2 label {
    display: flex;
    align-items: center;
    gap: 8px; /* Jarak antara checkbox dan teks */
    font-family: 'Spartan', sans-serif;
    color: #333; /* Sesuaikan dengan tema */
}