.whatsapp-float {
    position: fixed; /* Membuat elemen melayang dan posisinya tetap */
    bottom: 30px;    /* Jarak dari bawah layar */
    right: 30px;     /* Jarak dari kanan layar */
    width: 60px;     /* Lebar tombol */
    height: 60px;    /* Tinggi tombol */
    background-color: #25d366; /* Warna khas WhatsApp */
    color: white;
    border-radius: 50%; /* Membuat tombol berbentuk lingkaran penuh */
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2); /* Efek bayangan */
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none; /* Menghilangkan garis bawah pada link */
    z-index: 1000; /* Memastikan tombol selalu berada di lapisan paling atas */
    transition: all 0.3s ease; /* Animasi transisi yang halus */
}

/* Efek saat tombol disentuh kursor (hover) */
.whatsapp-float:hover {
    background-color: #128C7E; /* Warna sedikit lebih gelap saat di-hover */
    transform: scale(1.1);     /* Tombol sedikit membesar */
    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
}

.navbar-brand { font-weight: 700; letter-spacing: 1px; }
.logo_container {
    display: inline-flex; /* Membuat kontainer menyesuaikan isi dan mengaktifkan flexbox */
    align-items: center;  /* KUNCI: Menengahkan logo dan teks secara vertikal */
    height: 40px; 
    color: white;
    text-decoration: none;
    font-family: Arial, Courier, monospace;
    padding: 0 10px;
    border-radius: 5px;
    font-weight: 500;
}

.logo_header {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-image: url('../images/logo_k3smalang.png');
    background-size: cover;
    background-position: center;
    margin-right: 10px; /* Memberi jarak antara logo dan teks */
    flex-shrink: 0;     /* Memastikan logo tidak gepeng jika teks terlalu panjang */
}

/* Chrome, Safari, Edge, Opera */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}


/* CUSTOM BUBBLE VALIDATION */
.custom-invalid-tooltip {
    display: none;
    position: absolute;
    top: 100%;
    z-index: 5;
    max-width: 100%;
    padding: 0.4rem 0.8rem;
    margin-top: .2rem;
    font-size: 0.85rem;
    font-weight: 300;
    color: #fff;
    background-color: #fd7e14; /* Warna orange custom, bisa diubah */
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    animation: fadeInDown 0.3s ease;
}
.custom-invalid-tooltip::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 15px;
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent #fd7e14 transparent; /* Segitiga panah ke atas */
}
@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}
/* Tampilkan bubble saat form divalidasi dan inputnya kosong/tidak valid */
.was-validated .form-control:invalid ~ .custom-invalid-tooltip {
    display: block;
}
/* Ubah warna border input yang salah menjadi orange */
.was-validated .form-control:invalid {
    border-color: #fd7e14;
    background-image: none; /* Hilangkan icon X bawaan bootstrap jika tidak mau */
}

/* Animasi Fade Out (Menghilang Perlahan) */
@keyframes fadeOutUp {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(-10px); }
}

/* Terapkan animasi saat class hide-tooltips aktif dari JavaScript */
.hide-tooltips .custom-invalid-tooltip {
    animation: fadeOutUp 0.3s ease forwards !important;
}