.schedule-row{
    display:grid;
    grid-template-columns:140px repeat(3,1fr);
    gap:15px;
    margin-bottom:20px;
    align-items:stretch;
}

.schedule-time{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    text-align:left;
    padding-right:20px;
    line-height:1.4;
}

.schedule-card{
    border:1px solid #bdbdbd;
    background:#ececec;
    padding:18px;
    cursor:pointer;
    text-align:center;
    transition:.25s;
    position:relative;
    min-height:110px;
}

.schedule-time .day{
    font-size:22px;
    font-weight:700;
    color:#1f2d3d;
    margin-bottom:6px;
}

.schedule-time .time{
    font-size:18px;
    color:#333;
}

.schedule-card input{
    display:none;
}

.schedule-card:hover{
    background:#dddddd;
}

.schedule-card input:checked + div{
    color:#fff;
}

.schedule-card:has(input:checked){
    background:#1d6fa5;
    border-color:#1d6fa5;
    color:white;
}

.schedule-card strong{
    display:block;
    margin-bottom:8px;
}

@media(max-width:768px){

.schedule-row{
    grid-template-columns:1fr;
}

.schedule-time{
    margin-bottom:10px;
}

}

.select2-container--default .select2-selection--single {
    height: 45px !important; /* Menyamakan tinggi kotak dengan input Elementor */
    border: 2px solid #334e38 !important; /* Ganti kode #334e38 dengan warna hijau tua asli Anda jika berbeda */
    border-radius: 0px !important; /* Memaksa sudut kotak menjadi siku-siku (tajam) */
    background-color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 12px !important; /* Jarak teks dari garis kiri */
}

.select2-container--default.select2-container--focus .select2-selection--single {
    border: 2px solid #334e38 !important;
    outline: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #222222 !important; /* Warna teks isi */
    font-size: 16px !important; /* Ukuran font disamakan */
    font-family: inherit !important; /* Mengikuti font bawaan Elementor */
    padding-left: 0px !important;
    width: 100% !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #a1a1a1 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 41px !important;
    top: 2px !important;
    right: 12px !important;
}

/* 6. Menyamakan gaya kotak daftar pencarian yang muncul di bawahnya */
.select2-dropdown {
    border: 2px solid #334e38 !important;
    border-radius: 0px !important; /* Sudut siku-siku pada dropdown */
    z-index: 99999 !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 2px solid #334e38 !important;
    border-radius: 0px !important;
    padding: 8px !important;
    outline: none !important;
}

.phone-input-wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
}

.phone-code-box {
    width: 60px !important;       /* Lebar kotak dikecilkan */
    min-width: 0px !important;    /* WAJIB: Memaksa menghapus batas lebar minimal dari Elementor */
    max-width: 60px !important;   /* Mengunci lebar maksimal agar tidak melar */
    text-align: center !important;
    background-color: #f5f5f5 !important; 
    border: 2px solid #334e38 !important; 
    border-right: none !important; 
    border-radius: 0px !important; 
    color: #555555 !important;
    font-weight: bold;
    padding: 0 !important;
}

/* Mengatur kotak nomor telepon utama di sebelah kanan */
.phone-main-box {
    flex: 1 !important; /* Memaksa kotak memanjang penuh ke kanan */
    border: 2px solid #334e38 !important; /* Hijau tua tebal */
    border-radius: 0px !important; /* Siku-siku sempurna */
}

/* Menghilangkan outline biru default browser saat di-klik */
.phone-code-box:focus, .phone-main-box:focus {
    outline: none !important;
    border-color: #334e38 !important;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.live-validate-spinner {
    animation: spin 0.8s linear infinite;
    display: inline-block;
}

.next-button {
    background-color: #A74129;
    color: white;
}

.btn-next:hover, #submit:hover {
    background-color: #BE4B32 !important; 
    box-shadow: 0 4px 12px rgba(167, 65, 41, 0.25);
}

/* 3. STATUS CLICK / ACTIVE (Sedikit Lebih Gelap + Efek Tertekan) */
.btn-next:active, #submit:active {
    background-color: #8A321E !important; /* Warna merah bata versi lebih gelap */
    transform: scale(0.97); /* Membuat tombol mengecil tipis, efek seperti ditekan fisik */
    box-shadow: 0 2px 4px rgba(138, 50, 30, 0.2);
}

input::-webkit-contacts-auto-fill-button,
input::-webkit-credentials-auto-fill-button {
    visibility: hidden;
    display: none !important;
    pointer-events: none;
}

.wizard-progress {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin-bottom: 40px;
    padding: 0 40px;
    font-family: sans-serif;
}

/* Garis penghubung antar step */
.wizard-progress::before {
    content: '';
    position: absolute;
    top: 20px; /* Menyesuaikan posisi tengah ikon */
    left: 80px;
    right: 80px;
    height: 1px;
    background-color: #ccc;
    z-index: 1;
}

.progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    width: 120px;
    text-align: center;
}

.step-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 8px;
    color: #333;
}

.step-label {
    font-size: 14px;
    line-height: 1.2;
    color: #333;
}

.progress-step.active .step-icon {
    border-color: #1e5bb8;
    color: #1e5bb8;
}

.progress-step.active .step-label {
    color: #1e5bb8;
    font-weight: bold;
}

input[type="text"], input[type="email"], select {
  height: 60px !important;
}
