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

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

/* Base Body Styles */
body {
    background: #e4eaeb; /* Gunakan warna background yang sama dengan area konten */
    padding-bottom: 100px; /* Sesuaikan dengan tinggi nav + margin */
    min-height: 100vh;
    overflow-x: hidden;
}

/* --- CSS untuk Halaman Home (index.php) --- */

.main-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    background-color: #FFFFFF;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    position: sticky;
    top: 0;
    z-index: 999;
}

.header-left {
    display: flex;
    align-items: center;
}

.profile-icon {
    font-size: 40px;
    color: #4070F4;
    margin-right: 15px;
    position: relative;
    z-index: 1;
}

.user-info p {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.user-info .verified-profile {
    font-size: 12px;
    color: #666;
    display: flex;
    align-items: center;
}

.refresh-icon {
    font-size: 10px;
    margin-left: 5px;
    color: #4070F4;
}

.header-right i {
    font-size: 24px;
    color: #666;
    margin-left: 20px;
    cursor: pointer;
}

.main-content-area {
    padding: 20px;
    background-color: #e4eaeb;
}

/* Hero Card Section */
.hero-card {
    background: linear-gradient(135deg, #4dab25, #024d52);
    border-radius: 15px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex;
    color: #FFFFFF;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
    height: 200px;
}

.hero-card .card-content {
    flex: 1;
    z-index: 1;
}

.hero-card h2 {
    font-size: 22px;
    margin-bottom: 5px;
}

.hero-card h3 {
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: normal;
}

.hero-card p {
    font-size: 14px;
    margin: 0;
    line-height: 1.4;
}

.hero-card .lihat-rapor-btn {
    background-color: #FFFFFF;
    color: #56ab2f;
    border: none;
    padding: 8px 15px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    margin-top: 15px;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.hero-card .card-image {
    position: absolute;
    bottom: -10px;
    right: 10px;
    display: flex;
    align-items: flex-end;
    z-index: 0;
}

.hero-card .doctor-image {
    width: 150px;
    height: auto;
    border-radius: 0;
    object-fit: contain;
    box-shadow: none;
}

.hero-card .circle-icon {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 40px;
    color: #FFFFFF;
    position: absolute;
    right: 0px;
    bottom: 50px;
    z-index: 1;
}

/* Function Cards Container */
.function-cards-container {
    display: flex;
    justify-content: space-around;
    gap: 15px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.function-card {
    background-color: #FFFFFF;
    border-radius: 15px;
    padding: 20px;
    flex: 1;
    min-width: 150px;
    max-width: calc(50% - 10px);
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.function-card .card-icon-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 10px auto;
    font-size: 28px;
    color: #FFFFFF;
}
.function-card .card-icon-wrapper.green {
    background-color: #56ab2f;
}
.function-card .card-icon-wrapper.blue {
    background-color: #4070F4;
}
.function-card .card-icon-wrapper.purple {
    background-color: #9b59b6;
}
.function-card .card-icon-wrapper.orange {
    background-color: #e67e22;
}

.function-card p {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}
.function-card .card-link-wrapper {
    text-decoration: none;
    color: inherit;
}


/* --- Navigasi Bawah (Tanpa Indikator Bola) --- */
.nav1 {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    border-radius: 0;
    background: white; /* Background gradien */
    box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    overflow: hidden; /* Pastikan tidak ada overflow dari konten */
}

.nav-content1 { /* Mengikuti permintaan Anda: nav-content1 */
    display: flex;
    height: 65px; /* Tinggi navigasi tanpa indikator bola, sesuaikan */
    justify-content: space-around;
    list-style: none;
    position: relative;
    padding: 0 25px;
    max-width: 768px;
    margin: 0 auto;
}

/* Setiap Item Navigasi */
.nav-list1 { /* Mengikuti permintaan Anda: nav-list1 */
    flex-grow: 1;
    flex-basis: 0;
    text-align: center;
    position: relative; /* Penting untuk z-index jika ada overlap */
    z-index: 1; /* Biarkan lebih rendah jika tidak ada indicator yang menimpa */
}

.link-item1{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100%;
    width: 100%;
    text-decoration: none;
    color: rgba(0, 0, 0, 0.5); /* Warna default ikon dan teks tidak aktif */
    transition: all 0.3s ease;
    position: relative;
    padding-top: 15px; /* Beri ruang dari atas nav */
    padding-bottom: 5px; /* Ruang untuk teks di bawah ikon */
    box-sizing: border-box; /* Pastikan padding tidak menambah lebar/tinggi */
}

.link-item1.active1 { /* Tetap active1 untuk konsistensi dengan JS */
    color: #414141; /* Warna ikon dan teks aktif */
}

.link-icon1{
    font-size: 30px; /* Ukuran ikon lebih besar tanpa bola */
    margin-bottom: 4px; /* Sedikit ruang antara ikon dan teks */
    transition: all 0.3s ease;
    display: block;
    position: relative;
    z-index: 2; /* Ikon di atas teks jika ada overlap saat aktif */
}

.link-text1{
    font-size: 12px;
    font-weight: 500;
    opacity: 0; /* Sembunyikan teks saat tidak aktif */
    position: absolute; /* Posisikan teks relatif terhadap link-item1 */
    bottom: 5px; /* Posisikan teks di bagian bawah link-item */
    left: 50%; /* Tengah secara horizontal */
    transform: translateX(-50%); /* Atur ke tengah berdasarkan lebarnya sendiri */
    transition: all 0.3s ease;
    color: #414141; /* Warna teks aktif: putih solid */
    white-space: nowrap;
    pointer-events: none; /* Penting: mencegah teks aktif menangkap event mouse saat transparan */
}

.link-item1.active1 .link-icon1 {
    transform: translateY(-10px); /* Ikon naik sedikit saat aktif */
}

.link-item1.active1 .link-text1{
    opacity: 1; /* Teks terlihat saat aktif */
    transform: translateX(-50%); /* Tetap di tengah */
}

/* --- Hapus semua blok CSS yang terkait dengan indicator1 --- */
/*
.nav1 .indicator1 { ... }
.nav1 .indicator1::before { ... }
*/


/* --- Styles untuk Halaman Lapor Kehamilan (lapor_kehamilan.php) --- */

.page-header {
    display: flex;
    align-items: center;
    padding: 20px;
    background-color: #FFFFFF;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    z-index: 998;
}

.page-header .back-btn {
    font-size: 24px;
    color: #333;
    margin-right: 15px;
    text-decoration: none;
}

.page-header h1 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    flex-grow: 1;
    text-align: center;

}

.main-content-area.form-page {
    background-color: #f8f8f8;
    padding: 20px;
    padding-bottom: 20px;
}

.form-container {
    background-color: #FFFFFF;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    max-width: 500px;
    margin: 0 auto;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
}

/* Gaya untuk input teks, number, dan date (Bootstrap's .form-control akan berlaku) */
.form-group input[type="date"].form-control,
.form-group input[type="number"].form-control,
.form-group input[type="file"].form-control {
    border-color: #ddd;
    box-shadow: none;
}

.form-group input[type="date"].form-control:focus,
.form-group input[type="number"].form-control:focus,
.form-group input[type="file"].form-control:focus {
    border-color: #4dab25;
    box-shadow: 0 0 0 0.25rem rgba(77, 171, 37, 0.25);
}


.form-group input[type="file"].form-control {
    padding: 10px;
}

.form-group .file-info {
    font-size: 12px;
    color: #888;
    margin-top: 5px;
}

/* Radio Button kustomisasi (menggunakan Bootstrap's .form-check) */
.form-check.radio-group {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    margin-top: 5px;
}

.form-check-input[type="radio"] {
    margin-right: 8px;
    transform: scale(1.1);
    accent-color: #4dab25;
}

.form-check-label {
    margin-bottom: 0;
    font-weight: 400;
    cursor: pointer;
}


.submit-btn {
    width: 100%;
    padding: 15px;
    background: linear-gradient(135deg, #4dab25, #024d52);
    color: #FFFFFF;
    border: none;
    border-radius: 10px;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}

/* Kustomisasi Modal Bootstrap */
.btn-primary {
    background-color: #56ab2f !important;
    border-color: #56ab2f !important;
}
.btn-primary:hover {
    background-color: #4dab25 !important;
    border-color: #4dab25 !important;
}
.btn-secondary {
    background-color: #ccc !important;
    border-color: #ccc !important;
    color: #333 !important;
}
.btn-secondary:hover {
    background-color: #bbb !important;
    border-color: #bbb !important;
}

.modal-body ul {
    list-style: none;
    padding: 0;
    margin-bottom: 1rem;
    text-align: left;
}
.modal-body ul li {
    font-size: 14px;
    color: #666;
    margin-bottom: 0.5rem;
    position: relative;
    padding-left: 1.2em;
}
.modal-body ul li::before {
    content: '\2022';
    color: #4dab25;
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}


/* --- Media Queries untuk responsivitas tambahan --- */
@media (max-width: 500px) {
    /* Umum */
    body {
        padding-bottom: 80px;
    }

    /* Navigasi */
    .nav-content1 { /* Mengikuti permintaan Anda */
        height: 55px; /* Sedikit lebih rendah untuk mobile tanpa bola */
    }
    .link-item1 {
        padding-top: 10px;
        padding-bottom: 3px;
    }
    .link-icon1 {
        font-size: 25px;
    }
    .link-text1 {
        font-size: 10px;
        bottom: 3px;
    }
    .link-item1.active1 .link-icon1 {
        transform: translateY(-5px); /* Sedikit naik saat aktif */
    }


    /* Header Utama */
    .main-header {
        padding: 15px;
    }
    .profile-icon {
        font-size: 35px;
    }
    .user-info p {
        font-size: 14px;
    }
    .user-info .verified-profile {
        font-size: 10px;
    }
    .header-right i {
        font-size: 20px;
        margin-left: 15px;
    }

    /* Hero Card */
    .hero-card {
        height: 180px;
        padding: 15px;
    }
    .hero-card h2 {
        font-size: 20px;
    }
    .hero-card h3 {
        font-size: 16px;
    }
    .hero-card p {
        font-size: 13px;
    }
    .hero-card .lihat-rapor-btn {
        padding: 7px 12px;
        font-size: 13px;
        margin-top: 10px;
    }
    .hero-card .doctor-image {
        width: 120px;
        bottom: -5px;
        right: 0px;
    }
    .hero-card .circle-icon {
        width: 60px;
        height: 60px;
        font-size: 30px;
        bottom: 30px;
        right: -5px;
    }

    /* Function Cards */
    .function-cards-container {
        gap: 10px;
    }
    .function-card {
        min-width: unset;
        max-width: calc(50% - 5px);
        padding: 15px;
    }
    .function-card .card-icon-wrapper {
        width: 50px;
        height: 50px;
        font-size: 24px;
    }
    .function-card p {
        font-size: 13px;
    }

    /* Halaman Form (Lapor Kehamilan) */
    .page-header {
        padding: 15px;
    }
    .page-header h1 {
        font-size: 18px;
    }
    .form-container {
        padding: 15px;
    }
    .form-group label {
        font-size: 14px;
    }
    .submit-btn {
        padding: 12px;
        font-size: 15px;
    }
}
/* --- Styles untuk Halaman Profil (profil.php) --- */

.profile-page-content {
    background-color: #e4eaeb; /* Konsisten dengan background body */
    padding-top: 20px;
    padding-bottom: 120px; /* Lebih banyak padding agar tidak tertutup nav bawah */
}

/* Kartu Informasi Pengguna Utama */
.profile-main-card {
    background-color: #FFFFFF;
    border-radius: 15px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    margin-bottom: 20px;
    position: relative;
    overflow: hidden; /* Untuk memastikan shadow/border-radius bekerja baik */
}

.profile-icon-wrapper {
    position: relative;
    width: 60px; /* Ukuran wrapper ikon */
    height: 60px;
    flex-shrink: 0; /* Jangan biarkan mengecil */
}

.profile-main-icon {
    font-size: 55px; /* Ukuran ikon profil */
    color: #4dab25; /* Warna ikon seperti di gambar */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.badge-icon {
    position: absolute;
    bottom: -5px; /* Sesuaikan posisi badge */
    right: -5px;
    background-color: #56ab2f; /* Warna hijau verifikasi */
    border-radius: 50%;
    width: 25px; /* Ukuran badge */
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    color: #FFFFFF;
    border: 2px solid #FFFFFF; /* Border putih */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.user-details {
    flex-grow: 1;
}

.user-name {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.user-contact,
.user-id {
    font-size: 13px;
    color: #666;
    margin-bottom: 3px;
    display: flex;
    align-items: center;
}
.user-contact i,
.user-id i {
    font-size: 16px;
    margin-right: 5px;
    color: #888;
}

.edit-profile-btn {
    font-size: 24px;
    color: #4dab25; /* Warna ikon edit */
    text-decoration: none;
    flex-shrink: 0;
}


/* Item Opsi Umum (Kode Identitas, Informasi Umum) */
.profile-option-item {
    background-color: #FFFFFF;
    border-radius: 15px; /* Sesuaikan jika tidak semua rounded */
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px; /* Jarak antar item */
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    text-decoration: none;
    color: #333;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.profile-option-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.profile-option-item .option-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

.profile-option-item .option-icon {
    font-size: 24px;
    color: #4070F4; /* Warna ikon default */
    /* Anda bisa membuat warna ikon berbeda per item jika mau */
}
/* Contoh warna ikon berbeda */
.profile-option-item:nth-of-type(1) .option-icon { color: #56ab2f; } /* Profil Tertaut */
.profile-option-item:nth-of-type(2) .option-icon { color: #e67e22; } /* Pusat Bantuan */
.profile-option-item:nth-of-type(3) .option-icon { color: #9b59b6; } /* Nomor Gawat Darurat */
.profile-option-item:nth-of-type(4) .option-icon { color: #2ecc71; } /* Tentang */


.profile-option-item span {
    font-size: 16px;
    font-weight: 500;
}

.profile-option-item .bx-chevron-right {
    font-size: 24px;
    color: #888;
}

/* Kartu Status Vaksin */
.vaccine-card {
    background: linear-gradient(135deg, #4dab25, #024d52); /* Gradien biru */
    color: #FFFFFF;
    border-radius: 15px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

.vaccine-card .vaccine-title {
    font-size: 15px;
    margin-bottom: 5px;
    opacity: 0.8;
}

.vaccine-card .vaccine-name {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}

.vaccine-card .vaccine-arrow {
    font-size: 38px; /* Ukuran ikon panah/plus besar */
    color: #FFFFFF;
    text-decoration: none;
    padding: 5px; /* Untuk area klik yang lebih besar */
}
/* Mengubah ikon di kartu vaksin menjadi kotak plus seperti di gambar */
.vaccine-arrow .bx-plus-medical {
    background-color: rgba(255, 255, 255, 0.2); /* Background transparan */
    border-radius: 8px; /* Sedikit rounded corner */
    padding: 5px;
    font-size: 30px; /* Ukuran ikon di dalam kotak */
}

/* Judul Bagian */
.section-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-top: 25px;
    margin-bottom: 10px;
    padding-left: 5px; /* Sedikit indentasi */
}

/* Menghapus margin-bottom terakhir dari item daftar info */
.info-list .profile-option-item:last-child {
    margin-bottom: 0;
}


/* Media Queries untuk Responsivitas */
@media (max-width: 500px) {
    .profile-main-card {
        padding: 15px;
        gap: 10px;
    }
    .profile-main-icon {
        font-size: 45px;
    }
    .badge-icon {
        width: 20px;
        height: 20px;
        font-size: 14px;
        bottom: -3px;
        right: -3px;
    }
    .user-name {
        font-size: 16px;
    }
    .user-contact, .user-id {
        font-size: 12px;
    }
    .user-contact i, .user-id i {
        font-size: 14px;
    }
    .edit-profile-btn {
        font-size: 20px;
    }

    .profile-option-item {
        padding: 12px 15px;
        margin-bottom: 10px;
    }
    .profile-option-item .option-left {
        gap: 10px;
    }
    .profile-option-item .option-icon {
        font-size: 20px;
    }
    .profile-option-item span {
        font-size: 14px;
    }
    .profile-option-item .bx-chevron-right {
        font-size: 20px;
    }

    .vaccine-card {
        padding: 15px;
    }
    .vaccine-card .vaccine-title {
        font-size: 13px;
    }
    .vaccine-card .vaccine-name {
        font-size: 16px;
    }
    .vaccine-card .vaccine-arrow {
        font-size: 30px;
    }
    .vaccine-arrow .bx-plus-medical {
        font-size: 24px;
    }

    .section-title {
        font-size: 14px;
        margin-top: 20px;
        margin-bottom: 8px;
    }
    .profile-page-content {
        padding-top: 15px;
        padding-bottom: 100px; /* Sesuaikan lagi untuk mobile nav */
    }
}
/* --- Styles untuk Halaman Edit Profil (edit_profil.php) --- */

.edit-profile-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 15px; /* Sesuaikan padding agar panah dan judul tidak terlalu mepet */
    gap: 15px; /* Jarak antara panah dan judul */
}

.edit-profile-header .back-arrow {
    font-size: 28px; /* Ukuran ikon panah */
    color: #FFFFFF;
    text-decoration: none;
}

.edit-profile-header h1 {
    font-size: 20px; /* Ukuran judul "Ubah Akun" */
    margin: 0; /* Hapus margin default h1 */
}

.edit-profile-page-content {
    background-color: #e4eaeb; /* Background utama halaman, tetap terang */
    padding-top: 20px;
    padding-bottom: 20px; /* Tidak ada nav bawah di sini */
}

/* Bagian Foto Profil */
.profile-picture-section {
    text-align: center;
}

.profile-picture-circle {
    width: 120px; /* Ukuran lingkaran foto profil */
    height: 120px;
    background-color: #d1e7dd; /* Warna latar belakang lingkaran */
    border-radius: 50%;
    display: inline-flex; /* Untuk centering dan positioning icon */
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden; /* Pastikan ikon tidak keluar */
    margin-bottom: 10px;
}

.profile-pic-icon {
    font-size: 100px; /* Ukuran ikon user di dalam lingkaran */
    color: #28a745; /* Warna ikon user */
    /* Posisi mungkin perlu disesuaikan tergantung ikon */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.camera-icon-overlay {
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: #0d6efd; /* Warna biru untuk ikon kamera */
    border-radius: 50%;
    width: 40px; /* Ukuran ikon kamera */
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    color: #FFFFFF;
    border: 3px solid #e4eaeb; /* Border warna background page content */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    text-decoration: none;
}

/* Info Profil Card */
.info-profile-card {
    background-color: #FFFFFF;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

.info-profile-card .card-header-edit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee; /* Garis pemisah */
}

.info-profile-card .card-header-edit h2 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.info-profile-card .btn-edit-info {
    background-color: transparent;
    border: none;
    color: #4070F4; /* Warna biru untuk tombol "Ubah" */
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s ease;
}

.info-profile-card .btn-edit-info:hover {
    color: #0d6efd;
}

.info-profile-card .info-row {
    display: flex;
    flex-direction: column; /* Label di atas input */
    margin-bottom: 15px;
}

.info-profile-card .info-label {
    font-size: 13px;
    color: #888;
    margin-bottom: 5px;
}

.info-profile-card input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    color: #333;
    background-color: #f7f7f7; /* Background abu-abu untuk readonly */
    transition: all 0.3s ease;
}

/* Style ketika input bisa diedit */
.info-profile-card input[type="text"]:not([readonly]) {
    background-color: #FFFFFF;
    border-color: #4070F4; /* Warna border saat diedit */
    box-shadow: 0 0 0 0.2rem rgba(64, 112, 244, 0.25);
}

.info-profile-card input[type="text"]:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(64, 112, 244, 0.25);
    border-color: #4070F4;
}

/* Tombol Simpan dan Batal */
.btn-save-info,
.btn-cancel-edit {
    display: block; /* Untuk memposisikan tombol satu di bawah yang lain */
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    margin-top: 15px;
}

.btn-save-info {
    background: linear-gradient(135deg, #4dab25, #024d52); /* Gradasi hijau tema */
    color: #FFFFFF;
    border: none;
}

.btn-save-info:hover {
    opacity: 0.9;
}

.btn-cancel-edit {
    background-color: #f8f9fa; /* Warna terang */
    color: #6c757d; /* Warna abu-abu */
    border: 1px solid #ced4da;
    margin-top: 10px; /* Jarak dari tombol simpan */
}

.btn-cancel-edit:hover {
    background-color: #e2e6ea;
}


/* Media Queries untuk Responsivitas */
@media (max-width: 500px) {
    .edit-profile-header h1 {
        font-size: 18px;
    }
    .profile-picture-circle {
        width: 100px;
        height: 100px;
    }
    .profile-pic-icon {
        font-size: 80px;
    }
    .camera-icon-overlay {
        width: 35px;
        height: 35px;
        font-size: 18px;
    }
    .info-profile-card {
        padding: 15px;
    }
    .info-profile-card .card-header-edit h2 {
        font-size: 16px;
    }
    .info-profile-card .btn-edit-info {
        font-size: 14px;
    }
    .info-profile-card input[type="text"] {
        padding: 8px 10px;
        font-size: 14px;
    }
    .btn-save-info, .btn-cancel-edit {
        padding: 10px;
        font-size: 15px;
    }
}
/* Container untuk item yang bisa di-toggle */
.profile-option-container {
    margin-bottom: 15px; /* Jarak antar container item */
}
/* Hapus margin-bottom dari .profile-option-item di dalam container
   agar tidak ada double margin dengan .profile-option-container */
.profile-option-container .profile-option-item {
    margin-bottom: 0; 
    border-radius: 15px 15px 0 0; /* Hanya rounded di atas saat ada deskripsi */
    box-shadow: none; /* Hapus shadow dari item, pindahkan ke container jika perlu */
}
.profile-option-container .profile-option-item:hover {
    transform: none; /* Jangan berikan efek transform hover pada item toggle */
    box-shadow: none;
}
/* Gaya untuk ikon toggle (panah bawah/atas) */
.toggle-icon {
    transition: transform 0.3s ease; /* Transisi untuk rotasi ikon */
}

/* Putar ikon saat elemen collapse sedang aktif (muncul) */
.profile-option-item[aria-expanded="true"] .toggle-icon {
    transform: rotate(180deg);
}

/* Gaya untuk deskripsi Pusat Bantuan yang muncul */
.help-center-description {
    background-color: #FFFFFF; /* Latar belakang putih untuk deskripsi */
    border-radius: 0 0 15px 15px; /* Rounded hanya di bagian bawah */
    box-shadow: 0 5px 15px rgba(0,0,0,0.08); /* Shadow yang sama dengan kartu */
    padding: 15px 20px; /* Padding sama dengan item opsi */
    border-top: 1px solid #eee; /* Garis pemisah */
    color: #333; /* Warna teks deskripsi */
    font-size: 14px;
}

.help-center-description .description-text {
    line-height: 1.5;
}

.help-center-description .whatsapp-link {
    display: inline-flex; /* Agar ikon dan teks sejajar */
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    color: #25D366; /* Warna ikon WhatsApp */
    text-decoration: none;
    font-weight: 600;
}

.help-center-description .whatsapp-link i {
    font-size: 20px;
}

.help-center-description .whatsapp-link:hover {
    text-decoration: underline;
}

/* Gaya untuk ikon toggle (panah bawah/atas) */
.toggle-icon {
    transition: transform 0.3s ease; /* Transisi untuk rotasi ikon */
}

/* Putar ikon saat elemen collapse sedang aktif (muncul) */
.profile-option-item[aria-expanded="true"] .toggle-icon {
    transform: rotate(180deg);
}

/* Judul Bagian */
/* ... (kode CSS .section-title yang sudah ada) ... */

/* Menyesuaikan margin-bottom untuk item terakhir */
.info-list .profile-option-item:last-child {
    margin-bottom: 0;
}
/* Menyesuaikan margin-bottom untuk container terakhir jika ada */
.info-list .profile-option-container:last-child {
    margin-bottom: 0;
}


/* Media Queries untuk Responsivitas */
@media (max-width: 500px) {
    /* ... (kode media query yang sudah ada) ... */

    .help-center-description {
        padding: 12px 15px;
        font-size: 13px;
    }
    .help-center-description .whatsapp-link i {
        font-size: 18px;
    }
}
/* --- Styles untuk Halaman Profil (profil.php) --- */

/* ... (Kode CSS Anda yang sudah ada sebelumnya, kecuali yang terkait profile-option-item dan option-icon) ... */

/* Item Opsi Umum (Kode Identitas, Profil Tertaut, Nomor Darurat, Tentang) */
.profile-option-item {
    background-color: #FFFFFF; /* Latar belakang putih */
    border-radius: 15px; /* Default border-radius penuh */
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* margin-bottom: 15px; Ini akan dikelola oleh profile-option-container */
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* Default shadow */
    text-decoration: none;
    color: #333; /* Warna teks hitam */
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-radius 0.3s ease;
}

.profile-option-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.profile-option-item .option-left span {
    font-weight: 500; /* Font weight untuk teks di samping ikon */
}

/* Warna-warna ikon khusus */
.profile-icon {
    font-size: 22px;
    margin-right: 15px;
    color: #555; /* Default warna ikon abu-abu */
}

.profile-icon-green {
    font-size: 22px;
    margin-right: 15px;
    color: #4CAF50; /* Warna hijau */
}

.profile-icon-orange {
    font-size: 22px;
    margin-right: 15px;
    color: #FF9800; /* Warna oranye */
}

.profile-icon-purple {
    font-size: 22px;
    margin-right: 15px;
    color: #9C27B0; /* Warna ungu */
}


/* Container untuk item yang bisa di-toggle */
.profile-option-container {
    margin-bottom: 15px; /* Memberikan margin bawah untuk keseluruhan grup toggle */
    /* overflow: hidden; /* Tambahkan ini jika ada clipping issues */
    border-radius: 15px; /* Default border-radius untuk container */
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* Default shadow untuk container */
    transition: border-radius 0.3s ease, box-shadow 0.3s ease;
}

/* Hapus margin-bottom dan box-shadow dari .profile-option-item di dalam container
   karena container yang akan mengelola itu */
.profile-option-container .profile-option-item {
    margin-bottom: 0; 
    box-shadow: none; /* Shadow diatur di .profile-option-container */
    border-radius: 15px; /* Default full radius */
    background-color: #FFFFFF; /* Latar belakang putih */
    color: #333; /* Warna teks hitam */
}

/* Saat item toggle di dalam container sedang terbuka (expanded) */
.profile-option-container .profile-option-item[aria-expanded="true"] {
    border-bottom-left-radius: 0; /* Hilangkan rounded di bagian bawah kiri */
    border-bottom-right-radius: 0; /* Hilangkan rounded di bagian bawah kanan */
    /* box-shadow: none; /* Pastikan tidak ada shadow duplikat di sini */
}


/* Gaya untuk deskripsi yang muncul (Digunakan untuk semua collapse di profil) */
.help-center-description {
    background-color: #FFFFFF; /* Latar belakang putih untuk deskripsi */
    border-radius: 0 0 15px 15px; /* Rounded hanya di bagian bawah */
    box-shadow: 0 5px 15px rgba(0,0,0,0.08); /* Shadow yang sama dengan kartu */
    padding: 15px 20px;
    border-top: 1px solid #eee; /* Garis pemisah */
    color: #333;
    font-size: 14px;
    /* Tambahkan margin-top negatif agar menempel sempurna */
    margin-top: -1px; /* Overlap 1px dengan item di atasnya untuk efek border */
}

.help-center-description .description-text {
    line-height: 1.5;
}

.help-center-description .whatsapp-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    color: #25D366; /* Warna ikon WhatsApp */
    text-decoration: none;
    font-weight: 600;
}

.help-center-description .whatsapp-link i {
    font-size: 20px;
}

.help-center-description .whatsapp-link:hover {
    text-decoration: underline;
}

/* Gaya untuk ikon toggle (panah bawah/atas) */
.toggle-icon {
    transition: transform 0.3s ease; /* Transisi untuk rotasi ikon */
    color: #555; /* Warna panah */
}

/* Putar ikon saat elemen collapse sedang aktif (muncul) */
.profile-option-item[aria-expanded="true"] .toggle-icon {
    transform: rotate(180deg); /* Panah menunjuk ke atas */
}

/* Judul Bagian */
.section-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    margin-top: 25px; /* Jarak atas dari bagian sebelumnya */
}

/* Menyesuaikan margin-bottom untuk item terakhir */
.info-list > *:last-child {
    margin-bottom: 0;
}

/* Media Queries untuk Responsivitas */
@media (max-width: 500px) {
    /* ... (kode media query yang sudah ada) ... */

    .profile-option-item {
        padding: 12px 15px;
    }
    .profile-option-item .option-left span {
        font-size: 15px;
    }
    .profile-icon, .profile-icon-green, .profile-icon-orange, .profile-icon-purple {
        font-size: 20px; /* Sesuaikan ukuran ikon di mobile */
        margin-right: 12px;
    }
    .help-center-description {
        padding: 12px 15px;
        font-size: 13px;
    }
    .help-center-description .whatsapp-link i {
        font-size: 18px;
    }
    .section-title {
        font-size: 15px;
    }
}
        /* Gaya khusus untuk halaman jadwal posyandu (akan dipindahkan ke style.css nanti) */
        .main-content-area.schedule-page {
            padding: 20px; /* Padding yang konsisten dengan form-page */
            padding-bottom: 80px; /* Ruang untuk navigasi bawah */
        }

        .schedule-card {
            background-color: #FFFFFF;
            border-radius: 15px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
            padding: 20px;
            margin-bottom: 20px; /* Jarak antar kartu jadwal */
            border: 1px solid #eee; /* Menambahkan sedikit border seperti form-container */
        }

        .schedule-card h4 {
            font-size: 18px;
            font-weight: 600;
            color: #333;
            margin-bottom: 15px; /* Sedikit lebih besar margin */
            border-bottom: 1px solid #eee; /* Garis pemisah di bawah judul */
            padding-bottom: 10px;
        }

        .schedule-item {
            display: flex;
            align-items: flex-start; /* Mengatur alignment ke atas */
            margin-bottom: 15px;
            padding-bottom: 15px; /* Padding bawah untuk garis pemisah */
            border-bottom: 1px solid #f5f5f5; /* Garis pemisah antar item jadwal */
        }

        .schedule-item:last-child {
            margin-bottom: 0;
            padding-bottom: 0;
            border-bottom: none; /* Hapus border untuk item terakhir */
        }

        .schedule-icon {
            font-size: 24px;
            margin-right: 15px;
            color: #4CAF50; /* Warna ikon hijau */
            min-width: 24px; /* Pastikan ikon tidak terlalu kecil */
        }

        .schedule-details {
            flex-grow: 1; /* Memungkinkan detail mengambil ruang sisa */
        }
        .schedule-details p {
            margin: 0;
            font-size: 15px;
            color: #555;
        }

        .schedule-details .date-time {
            font-weight: 600;
            color: #333;
            margin-bottom: 5px;
            display: block;
        }

        .schedule-details .location {
            font-size: 14px;
            color: #777;
        }

        .no-schedule {
            text-align: center;
            color: #777;
            padding: 30px 0;
        }

        .no-schedule i {
            font-size: 48px;
            color: #ccc;
            margin-bottom: 15px;
        }

        
        /* Media Queries untuk Responsivitas */
        @media (max-width: 500px) {
            .page-header h1 {
                font-size: 20px;
            }
            .page-header .back-btn {
                font-size: 20px;
            }
            .page-header .back-btn i {
                font-size: 20px;
            }
            .main-content-area.schedule-page {
                padding: 15px;
            }
            .schedule-card {
                padding: 15px;
            }
            .schedule-card h4 {
                font-size: 16px;
                margin-bottom: 10px;
                padding-bottom: 8px;
            }
            .schedule-item {
                margin-bottom: 10px;
                padding-bottom: 10px;
            }
            .schedule-icon {
                font-size: 20px;
                margin-right: 10px;
            }
            .schedule-details p {
                font-size: 14px;
            }
            .schedule-details .location {
                font-size: 13px;
            }
        }
        /* --- Main Content Area --- */
        .main-content-area {
            padding: 20px; /* Padding default untuk main content */
            padding-bottom: 80px; /* Ruang untuk navigasi bawah */
        }

        /* --- Styles Khusus untuk Halaman Data Kesehatan --- */
        .main-content-area.data-page {
            padding: 20px;
            padding-bottom: 80px;
        }

        /* Gaya untuk Tabs (Nav-tabs) */
        .nav-tabs {
            border-bottom: none; /* Hapus border bawah default */
            margin-bottom: 20px;
            justify-content: center;
            background-color: transparent; /* Pastikan background tab tidak mengganggu rounded */
        }
        .nav-tabs .nav-item {
            flex-grow: 1;
            text-align: center;
            margin: 0 5px; /* Jarak antar tab */
        }
        .nav-tabs .nav-link {
            color: #555;
            border: 1px solid #ddd; /* Border tipis untuk tab */
            border-radius: 10px; /* Sudut membulat */
            padding: 10px 15px;
            transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
            font-weight: 500;
            background-color: #f0f0f0; /* Warna background tab tidak aktif */
            display: block; /* Agar padding dan border-radius bekerja pada seluruh area klik */
            width:100%;
        }
        .nav-tabs .nav-link:hover {
            border-color: #c9c9c9;
            background-color: #e9e9e9;
            color: #333;
        }
        .nav-tabs .nav-link.active {
            color: white; /* Warna teks tab aktif */
            background: linear-gradient(135deg, #4dab25, #024d52); /* Gradien untuk tab aktif */
            border-color: #4dab25; /* Border senada dengan gradien */
            font-weight: 600;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Shadow untuk tab aktif */
        }
        .nav-tabs .nav-link.active:hover {
            transform: translateY(-2px); /* Efek hover pada tab aktif */
            box-shadow: 0 6px 12px rgba(0,0,0,0.15);
        }

        /* Gaya untuk Tab Content (Kartu Utama) */
        .tab-content {
            background-color: #FFFFFF;
            border-radius: 15px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
            padding: 20px;
            border: 1px solid #eee;
        }

        /* Gaya Tabel */
        .data-table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 20px;
            font-size: 14px; /* Ukuran font tabel */
        }
        .data-table th, .data-table td {
            padding: 12px 8px;
            border-bottom: 1px solid #f5f5f5; /* Garis tipis antar baris */
            text-align: left;
        }
        .data-table th {
            background-color: #f8f8f8;
            font-weight: 600;
            color: #555;
            position: sticky; /* Sticky header jika tabel panjang */
            top: 0;
            z-index: 10;
        }
        .data-table tbody tr:hover {
            background-color: #fcfcfc;
        }
        .data-table .action-btn {
            background: none;
            border: none;
            color: #024d52; /* Warna ikon edit */
            font-size: 18px;
            cursor: pointer;
            padding: 5px;
            border-radius: 50%;
            transition: background-color 0.2s ease;
        }
        .data-table .action-btn:hover {
            background-color: #e6f4f5; /* Warna hover ringan */
        }
        
        /* Tombol Tambah Data */
        .add-data-btn {
            width: 100%;
            padding: 15px;
            background: linear-gradient(135deg, #4dab25, #024d52); /* Gradien hijau */
            color: white;
            border: none;
            border-radius: 10px;
            font-size: 18px;
            font-weight: 600;
            cursor: pointer;
            transition: background 0.3s ease, transform 0.2s ease;
            margin-top: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }
        .add-data-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }
        .add-data-btn i {
            font-size: 24px;
        }

        /* Media Queries untuk Responsivitas */
        @media (max-width: 500px) {
            .page-header h1 {
                font-size: 20px;
            }
            .page-header .back-btn, .page-header .back-btn i {
                font-size: 20px;
            }
            .main-content-area {
                padding: 15px;
            }
            .main-content-area.data-page {
                padding: 15px;
            }
            .nav-tabs {
                margin-bottom: 15px;
            }
            .nav-tabs .nav-item {
                margin: 0 3px; /* Kurangi jarak antar tab di mobile */
            }
            .nav-tabs .nav-link {
                padding: 8px 10px;
                font-size: 14px;
                border-radius: 8px; /* Sudut membulat lebih kecil di mobile */
            }
            .tab-content {
                padding: 15px;
            }
            .data-table {
                font-size: 12px;
                display: block;
                overflow-x: auto;
                white-space: nowrap;
                -webkit-overflow-scrolling: touch;
            }
            .data-table th, .data-table td {
                padding: 8px 5px;
            }
            .data-table .action-btn {
                font-size: 16px;
                padding: 3px;
            }
            .add-data-btn {
                padding: 12px;
                font-size: 16px;
            }
            .add-data-btn i {
                font-size: 20px;
            }
        }
        /* Tombol Spesifik Data Kehamilan */
        .btn-kehamilan {
            background: linear-gradient(135deg, #4dab25, #024d52); /* Gradien Hijau */
            text-decoration: none; /* Pastikan tidak ada underline pada link */
        }

        /* Tombol Spesifik Data Tumbuh Kembang (Contoh, jika nanti ada) */
        .btn-tumbuh-kembang {
            background: linear-gradient(135deg, #007bff, #0056b3); /* Contoh Gradien Biru */
        }


        /* Media Queries untuk Responsivitas */
        @media (max-width: 500px) {
            /* ... (kode lain tidak berubah) ... */
            .add-data-btn {
                padding: 12px 15px;
                font-size: 16px;
                gap: 10px;
                margin-bottom:20px;
            }
            .add-data-btn i {
                font-size: 24px;
            }
        }
        /* Hero Card Section */
.hero-card2 {
    background: linear-gradient(135deg, #4dab25, #024d52);
    border-radius: 15px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex;
    color: #FFFFFF;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
    height: 200px;
}

.hero-card2 .card-content {
    flex: 1;
    z-index: 1;
}

.hero-card2 h2 {
    font-size: 22px;
    margin-bottom: 5px;
}

.hero-card2 h3 {
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: normal;
}

.hero-card2 p {
    font-size: 14px;
    margin: 0;
    line-height: 1.4;
}

.hero-card2 .lihat-rapor-btn {
    background-color: #FFFFFF;
    color: #56ab2f;
    border: none;
    padding: 8px 15px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    margin-top: 15px;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.hero-card2 .card-image {
    position: absolute;
    bottom: -10px;
    right: 10px;
    display: flex;
    align-items: flex-end;
    z-index: 0;
}

.hero-card2 .doctor-image {
    width: 150px;
    height: auto;
    border-radius: 0;
    object-fit: contain;
    box-shadow: none;
}

.hero-card2 .circle-icon {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 40px;
    color: #FFFFFF;
    position: absolute;
    right: 0px;
    bottom: 50px;
    z-index: 1;
}
/* --- Media Queries untuk responsivitas tambahan --- */
@media (max-width: 500px) {

    /* Hero Card */
    .hero-card2 {
        height: auto;
        padding: 15px;
    }
    .hero-card2 h2 {
        font-size: 20px;
    }
    .hero-card2 h3 {
        font-size: 16px;
    }
    .hero-card2 p {
        font-size: 13px;
    }
    .hero-card2 .lihat-rapor-btn {
        padding: 7px 12px;
        font-size: 13px;
        margin-top: 10px;
    }
    .hero-card2 .doctor-image {
        width: 120px;
        bottom: -5px;
        right: 0px;
    }
    .hero-card2 .circle-icon {
        width: 60px;
        height: 60px;
        font-size: 30px;
        bottom: 30px;
        right: -5px;
    }
.function-card-link {
    text-decoration: none; /* Menghilangkan garis bawah */
    color: inherit;      /* Mempertahankan warna teks dari parent */
    display: block;      /* Penting agar link mengisi seluruh area kartu */
}

.function-card-link:hover .function-card {
    /* Tambahkan efek hover jika diinginkan */
}

        