<style>
    .social-links { display: flex; gap: 15px; justify-content: center; margin-top: 20px; }
    .social-btn {
        width: 50px; height: 50px;
        display: flex; align-items: center; justify-content: center;
        border-radius: 50%;
        color: white; font-size: 20px;
        transition: all 0.4s ease;
        text-decoration: none;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    }
    .social-btn:hover { transform: translateY(-8px) scale(1.1); box-shadow: 0 8px 20px rgba(0,0,0,0.2); color: white; }
    
    /* Warna Brand Modern */
    .btn-fb { background: #1877f2; }
    .btn-ig { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
    .btn-yt { background: #ff0000; }
    .btn-tt { background: #000000; }
</style>

/* 1. Global Styles */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f4f7f6;
    color: #333;
}

/* 2. Top Bar */
.top-bar { 
    background-color: #9ACD32; 
    color: #000; 
    font-size: 0.85rem; 
    padding: 5px 0;
}

/* 3. Sticky Navbar & Header */
.sticky-header { 
    position: sticky; 
    top: 0; 
    z-index: 1000; 
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.navbar { background-color: #006633 !important; }

.navbar-brand { font-size: 1.25rem; color: #fff !important; }

.nav-link { color: #fff !important; font-weight: 500; transition: 0.3s; }
.nav-link:hover { color: #FFD700 !important; }

/* 4. Dropdown Menu (Untuk PC/Tablet) */
.dropdown-menu { 
    background-color: #006633; 
    border: none; 
    border-radius: 0; 
}
.dropdown-item { color: #fff !important; padding: 10px 20px; }
.dropdown-item:hover { background-color: #008040 !important; }

<style>
    /* Membuat induk sub-menu menjadi relatif */
    .dropdown-submenu {
        position: relative;
    }

    /* Posisi sub-sub menu bergeser ke kanan dari menu utama */
    .dropdown-submenu > .dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: -6px;
        margin-left: 0;
        display: none; /* Sembunyikan secara default */
    }

    /* Munculkan saat kursor diarahkan ke list (hover) */
    .dropdown-submenu:hover > .dropdown-menu {
        display: block !important;
    }

    /* Tambahkan panah kecil di samping Tematik A dan B */
    .dropdown-submenu > a::after {
        content: " »";
        float: right;
        font-weight: bold;
    }

    /* Pastikan navbar tidak memotong elemen yang keluar (overflow visible) */
    .navbar, .dropdown-menu {
        overflow: visible !important;
    }
</style>
<style>
    /* Efek bayangan saat kursor diarahkan ke card */
    .hover-shadow { transition: 0.3s; cursor: pointer; }
    .hover-shadow:hover { 
        transform: translateY(-10px); 
        box-shadow: 0 1rem 3rem rgba(0,0,0,.175)!important; 
    }
    /* Warna teks hijau khas Al-Ma'arif */
    .text-success { color: #006400 !important; }
</style>

/* 5. Hero Slider */
.hero-carousel { 
    height: 500px !important; 
    object-fit: cover !important; 
    width: 100% !important; 
}

/* 6. Tombol */
.btn-warning { 
    background-color: #FFD700 !important; 
    border: none; 
    font-weight: bold; 
    color: #000;
}

/* 7. Footer */
footer {
    background-color: #004d26;
    color: #fff;
    padding: 30px 0;
    text-align: center;
    margin-top: 50px;
}

/* 8. Responsive Design (Hybrid Menu) */
@media (min-width: 768px) {
    .navbar .offcanvas {
        position: static !important;
        height: auto !important;
        width: auto !important;
        background: transparent !important;
        visibility: visible !important;
        transform: none !important;
        flex-grow: 1 !important;
        border: none !important;
    }
    .offcanvas-header { display: none !important; }
}

@media (max-width: 767px) {
    .hero-carousel { height: 250px !important; }
    .top-bar .hide-on-mobile { display: none; }
    .top-bar { text-align: center; }
}
@media (min-width: 768px) {
        .navbar .offcanvas {
            position: static !important;
            height: auto !important;
            width: auto !important;
            background: transparent !important;
            visibility: visible !important;
            transform: none !important;
            flex-grow: 1 !important;
            border: none !important;
        }
        .offcanvas-header { display: none !important; }
        .nav-link { color: white !important; }
    }
</style>
/* 4. Dropdown Menu (Warna Hijau Tua) */
.dropdown-menu { 
    background-color: #006633 !important; /* Hijau tua */
    border: 1px solid #004d26 !important; /* Border hijau lebih gelap */
    border-radius: 0; 
}

/* Warna teks di dalam sub-menu agar terlihat jelas di atas latar hijau */
.dropdown-item { 
    color: #ffffff !important; /* Teks putih */
    padding: 10px 20px; 
}

/* Efek saat kursor diarahkan ke sub-menu */
.dropdown-item:hover { 
    background-color: #008040 !important; /* Hijau sedikit lebih terang saat hover */
    color: #FFD700 !important; /* Warna teks berubah jadi emas/kuning saat hover */
}

/* Menambahkan garis bawah pada Navbar */
.sticky-header {
    border-bottom: 3px solid #FFD700; /* Warna emas agar kontras dengan hijau */
    box-shadow: 0 4px 6px -2px rgba(0,0,0,0.2); /* Opsional: memberikan efek bayangan agar lebih elegan */
}
.carousel-item::after {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.3); /* Overlay gelap 30% */
}

<style>
    /* 1. Paksa slider menjadi full dan tidak terpotong */
    .carousel-inner {
        width: 100%;
        overflow: hidden;
    }

    /* 2. Menggunakan 'contain' agar seluruh gambar terlihat (tidak terpotong) */
    .carousel-item img {
        width: 100%;
        height: 500px; /* Atur tinggi tetap agar tidak berubah-ubah */
        object-fit: contain; /* Mengubah dari 'cover' ke 'contain' agar gambar tidak dipotong */
        background-color: #ffffff; /* Latar belakang putih jika gambar tidak pas */
    }

    /* 3. MENGHAPUS EFEK DARK (Hapus bagian .carousel-item::before) */
    /* Pastikan kode .carousel-item::before sudah Anda hapus dari style */

    /* Responsif untuk HP agar proporsional */
    @media (max-width: 768px) {
        .carousel-item img { 
            height: 250px; 
        }
    }

    /* Indikator titik hijau muda cerah */
    .carousel-indicators [data-bs-target] {
        background-color: #32CD32 !important; 
    }
</style>

<style>
    /* Garis Oranye atas dan bawah navbar */
    .custom-navbar {
        border-top: 4px solid #FF8C00; /* Oranye */
        border-bottom: 4px solid #FF8C00;
        background-color: #006400; /* Hijau tua sekolah */
    }

    /* Mengatur Logo dan Judul */
    .brand-container {
        display: flex;
        align-items: center;
        gap: 15px;
    }
    .brand-text h1 { font-size: 1.2rem; color: #fff; margin: 0; font-weight: bold; }
    .brand-text p { font-size: 0.8rem; color: #ffeb3b; margin: 0; }
    .logo-img { height: 50px; }

    /* Tombol PPDB Online agar selalu terlihat */
    .btn-ppdb {
        background-color: #FF8C00;
        color: white;
        font-weight: bold;
        border-radius: 5px;
        padding: 5px 15px;
        text-decoration: none;
    }
</style>
<style>
    .rounded-4 { border-radius: 20px; }
    .display-1 { font-size: 5rem; }
    
    /* Efek hover pada tombol */
    .btn { transition: 0.3s; }
    .btn:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
    
    /* Penyesuaian mobile */
    @media (max-width: 768px) {
        .display-1 { display: none; }
    }
</style>
<style>
    /* Default untuk PC: Tetap estetik dengan cover */
    .carousel-item img {
        width: 100%;
        height: 500px;
        object-fit: cover; 
    }

    /* Pengaturan KHUSUS untuk HP */
    @media (max-width: 768px) {
        .carousel-item img {
            height: auto;           /* Tinggi otomatis agar tidak terpotong */
            max-height: 300px;      /* Batasi tinggi maksimal di HP agar tidak terlalu panjang */
            object-fit: contain;    /* MEMAKSA FOTO TAMPIL UTUH TANPA TERPOTONG */
            background-color: #f8f9fa; /* Warna latar belakang jika ada ruang kosong */
        }
    }
    .navbar {
    min-height: 80px; /* Sesuaikan dengan tinggi logo Anda */
    <style>
    .table thead th {
        border-bottom: 2px solid #f8f9fa;
        text-transform: uppercase;
        font-size: 0.8rem;
    }
    .badge {
        font-weight: 500;
        font-size: 0.75rem;
    }
    .card {
        border-radius: 10px;
    }
    /* Warna teks sedikit abu-abu agar elegan */
    .text-muted {
        color: #6c757d !important;
    }
</style>
}
.sambutan-section {
  text-align: center;
  padding: 40px;
  font-family: sans-serif;
}

.foto-container {
  position: relative;
  margin-bottom: 20px;
}

.foto-container img {
  width: 200px;
  border-radius: 50%; /* Sesuaikan bentuk */
}

.ikon-quote {
  font-size: 40px;
  color: #ccc;
  margin-bottom: 10px;
}

.konten-sambutan h2 {
  font-size: 24px;
  margin-bottom: 15px;
}

.garis-bawah {
  width: 100px;
  height: 2px;
  background-color: #333;
  margin: 20px auto;
}

.button-group {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}

.btn-primary {
  background-color: #006633; /* Contoh warna hijau */
  color: white;
  padding: 10px 20px;
  border-radius: 20px;
  border: none;
}

.btn-secondary {
  background-color: #ffcc00; /* Contoh warna kuning */
  color: black;
  padding: 10px 20px;
  border-radius: 20px;
  border: none;
}
.button-group a {
  text-decoration: none; /* Menghilangkan garis bawah link */
  display: inline-flex;
  align-items: center;
  gap: 8px; /* Jarak antara ikon dan teks */
  padding: 10px 20px;
  border-radius: 20px;
  font-weight: bold;
}

.btn-primary {
  background-color: #006633; 
  color: white;
}

.btn-secondary {
  background-color: #ffcc00; 
  color: black;
}
.img-zoom {
    width: 100%;
    height: 180px; /* Ukuran kartu tetap konsisten */
    object-fit: contain; /* Gambar akan tampil utuh, tidak ada yang terpotong */
    background-color: #f8f9fa; /* Memberi warna latar agar area kosong di sekitar gambar terlihat rapi */
    cursor: zoom-in;
    display: block;
/* Efek Outline Pelangi tetap di gambar */
.rainbow-border {
    border: 5px solid transparent;
    border-image: linear-gradient(to bottom right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #9400d3);
    border-image-slice: 1;
}

/* Modal Zoom yang lebih interaktif */
.modal-zoom { 
    display: none; position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; 
    background: rgba(0,0,0,0.8); cursor: zoom-out;
}
.modal-img { 
    margin: auto; display: block; max-width: 90%; max-height: 90%; 
    margin-top: 3%; transition: transform 0.5s ease; /* Efek halus */
    border: 5px solid white; /* Outline putih saat diperbesar */
}
.card-img-top {
    height: 200px; /* Sesuai keinginan Anda */
    width: 100%;
    object-fit: cover;      /* Memotong gambar agar pas tanpa merusak proporsi */
    object-position: center; /* Memastikan bagian tengah gambar yang selalu tampil */
}
<style>
    /* Reset agar tidak ada elemen yang memaksa layar melebar */
    * { box-sizing: border-box; }

    body {
        margin: 0;
        font-family: sans-serif;
        font-size: 18px; /* Teks dasar lebih besar */
        background: #f4f7f6;
    }

    /* Memastikan container admin memenuhi layar tapi punya napas */
    .admin-container {
        width: 100%;
        padding: 20px;
    }

    /* Membuat kartu menu jadi sangat jelas */
    .menu-card {
        background: white;
        padding: 25px;
        margin-bottom: 20px;
        border-radius: 15px;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        text-align: center;
    }

    /* Tombol jadi sangat besar untuk jempol */
    .btn-admin {
        display: block;
        width: 100%;
        padding: 25px; /* Padding besar = tombol besar */
        font-size: 22px; /* Font besar */
        font-weight: bold;
        background: #007bff;
        color: white;
        text-decoration: none;
        border-radius: 12px;
        margin-top: 10px;
    }
</style>