:root {
    --primary: #198754;
    --secondary: #ffffff;
    --text: #333333;
    --background: #f8f9fa;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: 'Poppins', sans-serif;
}

.navbar{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:18px 70px;

    background:#198754;

    box-shadow:0 5px 15px rgba(0,0,0,.15);

    position:sticky;

    top:0;

    z-index:999;
}

.logo {
    font-size: 24px;
    font-weight: bold;
}

.menu {
    display: flex;
    list-style: none;
    gap: 30px;
}

.menu li {
    list-style: none;
}

.menu li a {
    text-decoration: none;
}

.menu a{

    color:white;

    text-decoration:none;

    transition:.3s;
}

.menu a:hover{

    color:#ffd43b;

}

.hero{
    max-width:1200px;
    margin:60px auto;
    padding:0 20px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}

.hero-text {
    flex:1;
}

.badge{
    background:#198754;
    color:white;
    padding:8px 18px;
    border-radius:30px;
    display:inline-block;
    margin-bottom:20px;
    font-size:14px;
}

.hero-text h1 {
    font-size: 52px;
    margin-bottom:20px;
    line-height:1.2;
    color: #555;
}

.hero-text h2 {
    font-size: 55px;
    color: #006400;
    margin: 15px 0;
}

.hero-text p {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom:30px;
    color: #555;
}

.hero-image{
    flex:1;
    text-align:center;
}

.hero-image img{
    width:100%;
    max-width:500px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
}

.hero-button {
    margin-top: 35px;
    display:flex;
    gap:15px;
}

.btn {
    display: inline-block;
    padding: 14px 28px;
    margin-right: 15px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    transition:.3s;
}

.btn-primary {
    background: rgb(16, 112, 238);
    color: white;
}

.btn-secondary {
    background: rgb(16, 112, 238);
    color: white;
}

.btn:hover {
    transform: translateY(-4px);

}

.hero-image img {

    width: 500px;

}

.hero-image img {

    width: 500px;

}

.logo{
    display:flex;
    align-items:center;
    gap:15px;
}

.logo img{
    width:60px;
    height:60px;
    object-fit:contain;
}

.logo h2{
    color:white;
    font-size:22px;
}

.logo p{
    color:white;
    font-size:13px;
}

/* ==========================
   ABOUT SECTION
========================== */

.about{

    max-width:1200px;

    margin:100px auto;

    padding:0 20px;

    display:flex;

    align-items:center;

    gap:70px;

}

.about-image{

    flex:1;

}

.about-image img{

    width:100%;

    border-radius:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

.about-content{

    flex:1;

}

.section-title{

    color:#198754;

    font-weight:bold;

}

.about-content h2{

    font-size:40px;

    margin:20px 0;

}

.about-content p{

    line-height:35px;

    color:#666;

}

.about-content ul{

    margin-top:30px;

    list-style:none;

}

.about-content li{

    margin-bottom:15px;

    font-size:18px;

}

/* ==========================
   STATISTIK SEKOLAH
========================== */

.stats {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 20px;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.stat-card {
    background: #198754;
    color: white;
    padding: 40px 20px;
    text-align: center;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .15);
    transition: .3s;
}

.stat-card:hover {
    transform: translateY(-10px);
}

.stat-card h2 {
    font-size: 40px;
    margin-bottom: 10px;
}

.stat-card p {
    font-size: 20px;
}

/* ==========================
   VISI MISI
========================== */

.vision-mission {

    max-width: 1200px;

    margin: 100px auto;

    padding: 0 20px;

}

.section-heading {

    text-align: center;

    margin-bottom: 50px;

}

.section-heading h2 {

    font-size: 42px;

    color: #198754;

}

.section-heading p {

    color: #666;

    margin-top: 10px;

}

.vm-container {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 40px;

}

.vm-card {

    background: white;

    padding: 50px;

    border-radius: 20px;

    box-shadow: 0 10px 25px rgba(0,0,0,.1);

    transition: .3s;

    text-align: center;

}

.vm-card:hover {

    transform: translateY(-10px);

}

.icon {

    font-size: 50px;

    margin-bottom: 20px;

}

.vm-card h3 {

    color: #198754;

    margin-bottom: 20px;

    font-size: 30px;

}

.vm-card p,
.vm-card li {

    color: #555;

    line-height: 32px;

}

.vm-card ul {

    padding-left: 30px;
    text-align: left;

}

/* ==========================
   PROGRAM UNGGULAN
========================== */

.program {
    max-width: 1200px;
    margin: 100px auto;
    padding: 0 20px;
}

.program-container {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 30px;
    flex-wrap: wrap;
}

.program-card {
    background: white;
    padding: 40px 30px;
    text-align: center;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,.1);
    transition: .3s;
    width: 350px;
    max-width: 100%;
}

.program-card:hover {
    transform: translateY(-10px);
}

.program-icon {
    font-size: 50px;
    color: #198754;
    margin-bottom: 25px;
}

.program-card h3 {
    font-size: 28px;
    color: #198754;
    margin-bottom: 20px;
    text-align: center;
}

.program-card p {
    color: #666;
    line-height: 30px;
    text-align: center;
}

/* ==========================
   GALERI
========================== */

.gallery {
    max-width: 1200px;
    margin: 100px auto;
    padding: 0 20px;
}

.gallery-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.gallery-card {
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .15);
    background: #f5f5f5;
}

.gallery-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: .4s;
}

.gallery-card img:hover {
    transform: scale(1.1);
}

/* ==========================
   FOOTER
========================== */

.footer {
    background: #198754;
    color: white;
    margin-top: 100px;
}

.footer-container {
    max-width: 1200px;
    margin: auto;
    padding: 60px 20px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.footer h3 {
    margin-bottom: 20px;
     padding: 0 10px; 
}

.footer-contact a {
    color: white;
    text-decoration: none;
}

.footer-contact a:hover {
    color: #ffd43b;
}

.footer p {
    margin-bottom: 15px;
    line-height: 30px;
     padding: 0 10px;
}

.footer-bottom {
    text-align: center;
    padding: 20px;
    background: #146c43;
}

.map {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.map iframe {
    width: 100%;
    height: 300px;
    border: 0;
    border-radius: 20px;
}

/* =========================================
   HALAMAN BERITA
   ========================================= */

.news {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 20px;
}


/* =========================================
   CONTAINER
   ========================================= */

.news-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
}


/* =========================================
   KARTU BERITA
   ========================================= */

.news-card {
    display: flex;

    background: white;

    border-radius: 20px;

    overflow: hidden;

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);

    transition: 0.3s ease;
}


.news-card:hover {
    transform: translateY(-5px);
}


/* =========================================
   GAMBAR
   ========================================= */

.news-card img {
    width: 320px;
    height: 220px;

    object-fit: cover;

    flex-shrink: 0;
}


/* =========================================
   KONTEN
   ========================================= */

.news-content {
    padding: 25px;

    display: flex;
    flex-direction: column;

    justify-content: center;
}


/* =========================================
   TANGGAL
   ========================================= */

.news-date {
    display: block;

    color: #198754;

    font-size: 14px;

    margin-bottom: 10px;
}


/* =========================================
   JUDUL
   ========================================= */

.news-content h3 {
    margin: 5px 0 12px;

    color: #333;

    font-size: 22px;

    line-height: 1.4;
}


/* =========================================
   KETERANGAN
   ========================================= */

.news-content p {
    margin: 0;

    color: #666;

    line-height: 1.8;

    font-size: 15px;
}


/* =========================================
   TIDAK ADA BERITA
   ========================================= */

.news-empty {
    text-align: center;

    padding: 60px 20px;

    color: #777;
}


.news-empty i {
    font-size: 50px;

    color: #198754;

    margin-bottom: 15px;
}

/* ==========================
   BACK TO TOP
========================== */

#backToTop {
    position: fixed;

    right: 30px;
    bottom: 30px;

    width: 55px;
    height: 55px;

    border: none;
    border-radius: 50%;

    background: #198754;
    color: white;

    font-size: 20px;
    cursor: pointer;

    display: block;

    box-shadow: 0 8px 20px rgba(0,0,0,.2);

    transition: .3s;

    z-index: 99999;
}

#backToTop:hover {
    transform: translateY(-5px);
     background: #146c43;
}



/* ==========================
   HAMBURGER MENU
========================== */

.menu-toggle {
    display: none;
    font-size: 30px;
    color: white !important;
    cursor: pointer;
    padding: 10px;
}

/* ==========================
   HALAMAN PROFIL
========================== */

.page-header {
    background: #198754;
    color: white;
    text-align: center;
    padding: 80px 20px;
}


.profile-content {
    max-width: 1000px;
    margin: 80px auto;
    padding: 0 20px;
}


.profile-content h2 {
    margin-top: 40px;
    margin-bottom: 20px;
    color: #198754;
}


/* PARAGRAF */

.profile-content p {
    line-height: 32px;
    color: #555;
    margin-bottom: 20px;
}


/* LIST */

.profile-content ul {
    padding-left: 25px;
    margin-bottom: 20px;
}


.profile-content li {
    line-height: 32px;
    color: #555;
    margin-bottom: 8px;
}


/* ==========================
   PARAGRAF PROFIL
========================== */

.profile-content p {
    line-height: 32px;
    color: #555;
    margin-bottom: 20px;
}


/* ==========================
   LIST MISI
========================== */

.profile-content li {
    line-height: 32px;
    color: #555;
    margin-bottom: 8px;
}


.profile-content ul {
    padding-left: 25px;
}

/* ==========================
   IDENTITAS MADRASAH
========================== */

.identitas-list {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.identitas-list li {
    display: grid;
    grid-template-columns: 200px 20px 1fr;
    gap: 5px;
    margin-bottom: 10px;
    line-height: 1.8;
}

.identitas-label {
    font-weight: 500;
}

@media (max-width: 768px) {

    .identitas-list li {
        grid-template-columns: 140px 15px 1fr;
        gap: 3px;
        font-size: 14px;
    }

}

/* ======================
   HALAMAN GURU
====================== */

.teacher-container{
    max-width:1200px;
    margin:60px auto;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:30px;
    padding:20px;
    justify-items: center;
}

.teacher-card{
    width:260px;
    background:white;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 8px 25px rgba(0,0,0,.12);
    transition:.4s ease;
}

.teacher-card:hover{

     transform:translateY(-8px);

    box-shadow:0 15px 35px rgba(0,0,0,.2);

}

.teacher-card img{
    width:180px;
    height:220px;
    object-fit:cover;
    display:block;
    margin:20px auto;
    border-radius:10px;
}

.teacher-card h3{

    margin:15px;

}

.teacher-card p{

    margin:0 15px 20px;
    color:#666;

}

.teacher-subject{
    font-size:14px;
    color:#777;
    margin:0 15px 20px;
}

/* =========================================
   POSISI HALAMAN BERITA
   ========================================= */

.news-page {
    max-width: 1200px;
    margin: 55px auto 70px;
    padding: 0 20px;
}


/* =========================================
   CONTAINER BERITA
   ========================================= */

.news-page .news-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


/* =========================================
   KARTU BERITA
   ========================================= */

.news-page .news-card {
    display: flex;
    flex-direction: row;

    width: 100%;
    max-width: 880px;

    margin: 0;

    background: white;
    border-radius: 17px;
    overflow: hidden;

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);

    transition: 0.3s ease;
}


.news-page .news-card:hover {
    transform: translateY(-4px);
}


/* =========================================
   FOTO
   ========================================= */

.news-page .news-card img {
    width: 220px;
    height: 160px;

    object-fit: cover;

    flex-shrink: 0;
}


/* =========================================
   KONTEN
   ========================================= */

.news-page .news-content {
    flex: 1;

    padding: 16px 20px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* =========================================
   TANGGAL
   ========================================= */

.news-page .news-date {
    display: block;

    color: #198754;
    font-size: 13px;

    margin-bottom: 5px;
}


/* =========================================
   JUDUL
   ========================================= */

.news-page .news-content h3 {
    margin: 3px 0 7px;

    color: #333;

    font-size: 18px;
    line-height: 1.35;
}


/* =========================================
   KETERANGAN
   ========================================= */

.news-page .news-content p {
    margin: 0;

    color: #666;

    font-size: 14px;
    line-height: 1.55;
}

/* ======================
   HALAMAN GALERI
====================== */

.gallery-page{

max-width:1200px;

margin:60px auto;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:20px;

padding:20px;

}

.gallery-page img{

width:100%;

height:250px;

object-fit:cover;

border-radius:15px;

cursor:pointer;

transition:.3s;

}

.gallery-page img:hover{

transform:scale(1.05);

}

#lightbox{

display:none;

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.9);

justify-content:center;

align-items:center;

z-index:999;

}

#lightbox img{

max-width:90%;

max-height:90%;

border-radius:15px;

}

/* ======================
   HALAMAN KONTAK
====================== */

.contact-page{
    max-width:1100px;
    margin:60px auto;
    padding:20px;
}

.contact-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
    margin-bottom:40px;
}

.contact-card{
    background:#fff;
    padding:30px 20px;
    text-align:center;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.1);
    transition:.3s;
}

.contact-card:hover{
    transform:translateY(-5px);
}

.contact-card i{
    font-size:40px;
    color:#2e7d32;
    margin-bottom:15px;
}

.contact-card h3{
    margin-bottom:10px;
    color:#2e7d32;
}

.contact-card p{
    color:#555;
    line-height:1.7;
}

.map-container{
    margin-top:20px;
}

.map-container iframe{
    width:100%;
    height:450px;
    border:none;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.1);
}

/* ======================
   HALAMAN KONTAK
====================== */

.social-section{
    text-align:center;
    margin:60px auto;
    padding:20px;
}

.social-section h2{
    color:#2e7d32;
    margin-bottom:10px;
}

.social-section p{
    color:#666;
    margin-bottom:30px;
}

.social-icons{
    display:flex;
    justify-content:center;
    gap:25px;
    flex-wrap:wrap;
}

.social-icons a{
    width:70px;
    height:70px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    color:#fff !important;
    font-size:32px;
    transition:0.3s;
    box-shadow:0 5px 15px rgba(0,0,0,.2);
}

.social-icons a i{
    color:#fff !important;
}

.social-icons a:hover{
    transform:translateY(-6px) scale(1.08);
}

.social-item{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.social-item span{
    margin-top:10px;
    font-weight:600;
    color:#2e7d32;
}

/* YouTube */
.social-item:nth-child(1) a{
    background:#FF0000;
}

/* Instagram */
.social-item:nth-child(2) a{
    background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
}

/* TikTok */
.social-item:nth-child(3) a{
    background:#000000;
}

.social-section{
    text-align:center;
    margin:60px auto;
    padding:20px;
}

/* ============================= */
/* DETAIL BERITA */
/* ============================= */

.detail-berita {
    max-width: 900px;
    margin: 50px auto;
    padding: 0 20px;
}

.detail-card {
    background: #ffffff;
    padding: 35px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.detail-title {
    margin-bottom: 15px;
    font-size: 32px;
    line-height: 1.3;
}

.detail-meta {
    display: flex;
    gap: 25px;
    margin-bottom: 25px;
    color: #666;
    font-size: 14px;
}

.detail-meta span {
    display: flex;
    align-items: center;
    gap: 7px;
}

.detail-image {
    width: 100%;
    margin-bottom: 25px;
}

.detail-image img {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
    border-radius: 10px;
}

.detail-content {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
}

.detail-actions {
    margin-top: 35px;
}

/* ========================================= */
/* GALERI PUBLIK */
/* ========================================= */

.gallery-filter {
    width: 90%;
    max-width: 1100px;
    margin: 30px auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.gallery-filter label {
    font-weight: 600;
}

.gallery-filter select {
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
    background: #fff;
}


/* ========================================= */
/* JUDUL BULAN */
/* ========================================= */

.gallery-month {
    width: 90%;
    max-width: 1100px;
    margin: 40px auto 20px;
    font-size: 24px;
    font-weight: 700;
}

/* ========================================= */
/* ITEM GALERI */
/* ========================================= */

.gallery-item {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;

    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.10);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.gallery-item:hover {
    transform: translateY(-5px);

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.15);
}


/* ========================================= */
/* GAMBAR */
/* ========================================= */

.gallery-item img {
    width: 100%;
    height: 250px;

    object-fit: cover;

    display: block;

    cursor: pointer;

    transition:
        transform 0.3s ease;
}


.gallery-item:hover img {
    transform: scale(1.05);
}


/* ========================================= */
/* INFORMASI FOTO */
/* ========================================= */

.gallery-info {
    padding: 15px;
}


.gallery-info h3 {
    margin: 0 0 8px;

    font-size: 17px;
}


.gallery-info p {
    margin: 0 0 10px;

    font-size: 14px;

    line-height: 1.5;
}


.gallery-info small {
    font-size: 13px;
}


/* ========================================= */
/* JIKA GALERI KOSONG */
/* ========================================= */

.gallery-empty {
    width: 90%;
    max-width: 1100px;

    margin: 60px auto;

    text-align: center;

    padding: 50px 20px;
}


.gallery-empty i {
    font-size: 50px;

    margin-bottom: 15px;
}


.gallery-empty p {
    font-size: 17px;
}

/* ================================= */
/* GALERI FOTO */
/* ================================= */

.gallery-page {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 50px;
    display: block;
}


/* Nama bulan */

.gallery-month {
    width: 100%;
    margin: 40px 0 20px;
    font-size: 26px;
    font-weight: 700;
}


/* Susunan foto */

.gallery-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 45px;
}


/* Foto */

.gallery-item {
    width: 100%;
    overflow: hidden;
}


.gallery-item img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    cursor: pointer;
}

.gallery-grid {
    display: grid;
}

/* ================================= */
/* HALAMAN PMBM */
/* ================================= */

.pmbm-section {
    width: 100%;
    padding: 60px 20px;
}

.pmbm-container {
    max-width: 1100px;
    margin: 0 auto;
}


/* ================================= */
/* PEMBUKAAN */
/* ================================= */

.pmbm-intro {
    text-align: center;
    margin-bottom: 45px;
}

.pmbm-intro h2 {
    margin-bottom: 15px;
}

.pmbm-intro p {
    max-width: 850px;
    margin: 10px auto;
    line-height: 1.8;
}


/* ================================= */
/* BOX PMBM */
/* ================================= */

.pmbm-box {
    margin-bottom: 35px;
    padding: 30px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.pmbm-box h2 {
    margin-top: 0;
    margin-bottom: 25px;
}

.pmbm-box h2 i {
    margin-right: 10px;
}


/* ================================= */
/* PERSYARATAN */
/* ================================= */

.pmbm-box ol {
    margin: 0;
    padding-left: 25px;
}

.pmbm-box ol li {
    margin-bottom: 12px;
    line-height: 1.7;
}


/* ================================= */
/* JADWAL */
/* ================================= */

.pmbm-schedule {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.pmbm-schedule div {
    padding: 20px;
    border-radius: 10px;
    background: #f5f5f5;
}

.pmbm-schedule strong {
    display: block;
    margin-bottom: 8px;
}

.pmbm-schedule span {
    display: block;
}


/* ================================= */
/* ALUR PENDAFTARAN */
/* ================================= */

.pmbm-flow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.pmbm-step {
    text-align: center;
}

.pmbm-step span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    margin: 0 auto 15px;

    border-radius: 50%;

    font-size: 20px;
    font-weight: bold;
}

.pmbm-step h3 {
    margin-bottom: 10px;
}

.pmbm-step p {
    line-height: 1.6;
}


/* ================================= */
/* CTA */
/* ================================= */

.pmbm-cta {
    text-align: center;
    margin-top: 45px;
    padding: 45px 25px;
    border-radius: 15px;
}

.pmbm-cta h2 {
    margin-bottom: 12px;
}

.pmbm-cta p {
    margin-bottom: 25px;
}

.btn-pmbm {
    display: inline-block;
    padding: 13px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
}

.btn-pmbm i {
    margin-right: 8px;
}

/* ================================= */
/* HASIL PENDAFTARAN PMBM */
/* ================================= */

.pmbm-result-box {
    max-width: 750px;
    margin: 0 auto;
    padding: 45px 35px;
    text-align: center;
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.pmbm-result-icon {
    margin-bottom: 20px;
}

.pmbm-result-icon i {
    font-size: 70px;
}

.pmbm-result-box h2 {
    margin-bottom: 15px;
}

.pmbm-result-message {
    line-height: 1.8;
    margin-bottom: 30px;
}

.pmbm-registration-number {
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 10px;
    background: #f5f5f5;
}

.pmbm-registration-number span {
    display: block;
    margin-bottom: 10px;
}

.pmbm-registration-number strong {
    display: block;
    font-size: 28px;
    letter-spacing: 1px;
}

.pmbm-result-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.pmbm-result-info div {
    padding: 15px;
    border-radius: 10px;
    background: #f5f5f5;
}

.pmbm-result-info span {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
}

.pmbm-result-info strong {
    display: block;
}

.pmbm-result-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px;
    margin-bottom: 30px;
    text-align: left;
    border-radius: 10px;
    background: #f5f5f5;
}

.pmbm-result-notice i {
    margin-top: 3px;
}

.pmbm-result-notice p {
    margin: 0;
    line-height: 1.6;
}

.pmbm-result-actions {
    margin-top: 20px;
}

/* ================================= */
/* TOMBOL CTA PMBM */
/* ================================= */

.pmbm-cta-buttons {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 12px;

    margin-top: 20px;

}


.pmbm-cta-buttons .btn-pmbm {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

}

/* =========================================
   BERITA DI BERANDA / DASHBOARD
   ========================================= */

.news-home .news-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}


.news-home .news-card {
    display: flex;
    flex-direction: column;

    background: white;
    border-radius: 20px;
    overflow: hidden;

    box-shadow: 0 10px 25px rgba(0, 0, 0, .1);

    transition: .3s;
}


.news-home .news-card:hover {
    transform: translateY(-10px);
}


.news-home .news-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}


.news-home .news-content {
    padding: 25px;
}


.news-home .news-date {
    color: #198754;
    font-size: 14px;
}


.news-home .news-content h3 {
    margin: 15px 0;
    color: #333;
}


.news-home .news-content p {
    color: #666;
    line-height: 28px;
}

/* ==================================================
   MOBILE RESPONSIVE - TAHAP 1
   FONDASI
   ================================================== */

@media (max-width: 768px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    * {
        box-sizing: border-box;
    }

}

/* ==================================================
MOBILE RESPONSIVE - TAHAP 2
NAVBAR
================================================== */

@media (max-width: 768px) {

    /* NAVBAR */
    .navbar {
        width: 100%;
        min-height: 70px;

        padding: 10px 15px;

        display: flex;
        align-items: center;
        justify-content: space-between;

        position: relative;

        z-index: 9999;
    }


    /* LOGO */
    .navbar .logo {
        display: flex;
        align-items: center;

        max-width: calc(100% - 55px);
    }


    .navbar .logo img {
        width: 45px;
        height: 45px;

        object-fit: contain;
        flex-shrink: 0;
    }


    .navbar .logo-text {
        margin-left: 10px;
        min-width: 0;
    }


    .navbar .logo-text h2 {
        margin: 0;

        font-size: 17px;
        line-height: 1.2;

        white-space: nowrap;
    }


    .navbar .logo-text p {
        margin: 3px 0 0;

        font-size: 11px;
    }


    /* =========================
       TOMBOL HAMBURGER
       ========================= */

    .navbar .menu-toggle {
        display: flex;

        align-items: center;
        justify-content: center;

        width: 42px;
        height: 42px;

        font-size: 27px;
        color: white;

        cursor: pointer;

        flex-shrink: 0;

        position: relative;

        z-index: 10001;

        user-select: none;
    }


    /* =========================
       MENU MOBILE
       ========================= */

    .navbar .menu {
        display: none;

        position: absolute;

        top: 100%;
        left: 0;

        width: 100%;

        margin: 0;
        padding: 10px 0;

        flex-direction: column;

        list-style: none;

        background: #198754;

        z-index: 10000;
    }


    /* MENU SAAT HAMBURGER DIKLIK */
    .navbar .menu.active {
        display: flex;
    }


    .navbar .menu li {
        width: 100%;

        list-style: none;
    }


    .navbar .menu li a {
        display: block;

        width: 100%;

        padding: 12px 20px;

        color: white;

        text-decoration: none;
    }


    .navbar .menu li a:hover {
        background: rgba(255, 255, 255, 0.15);
    }

}

/* ==================================================
   MOBILE RESPONSIVE - TAHAP 3
   HERO / BERANDA
   ================================================== */

@media (max-width: 768px) {

    .hero {
        width: 100%;
        min-height: auto;

        display: flex;
        flex-direction: column;

        padding: 45px 20px 0;

        text-align: center;
    }


    /* KONTEN HERO */

    .hero-content {
        width: 100%;
        max-width: 100%;

        margin: 0 auto;
    }


    /* BADGE */

    .hero-content .badge {
        display: inline-block;

        font-size: 13px;

        padding: 7px 14px;

        margin-bottom: 15px;
    }


    /* JUDUL */

    .hero-content h1 {
        margin: 0 0 15px;

        font-size: 30px;
        line-height: 1.25;
    }


    /* DESKRIPSI */

    .hero-content p {
        margin: 0 auto 20px;

        max-width: 500px;

        font-size: 15px;
        line-height: 1.7;
    }


    /* TOMBOL */

    .hero-button {
        display: flex;

        justify-content: center;

        margin-bottom: 30px;
    }


    .hero-button .btn {
        display: inline-block;

        padding: 11px 22px;

        font-size: 14px;
    }


    /* FOTO SEKOLAH */

    .hero-image {
        width: 100%;
        max-width: 100%;

        margin: 0;
    }


    .hero-image img {
        display: block;

        width: 100%;
        height: auto;

        object-fit: contain;
    }


    /* ELEMEN KOSONG */

    .hero-text {
        display: none;
    }

    .hero-image[data-aos] {
        display: none;
    }

    /* ==================================================
   MOBILE RESPONSIVE - TAHAP 4
   TENTANG SEKOLAH
   ================================================== */

.about {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;

    padding: 50px 20px;

    margin: 0 auto;
}


/* FOTO */

.about-image {
    width: 100%;
    max-width: 100%;

    margin-bottom: 25px;
}


.about-image img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
}


/* KONTEN */

.about-content {
    width: 100%;
    max-width: 100%;

    text-align: center;
}


/* LABEL */

.about-content .section-title {
    display: inline-block;

    margin-bottom: 12px;

    font-size: 14px;
}


/* JUDUL */

.about-content h2 {
    margin: 0 0 15px;

    font-size: 27px;
    line-height: 1.3;
}


/* PARAGRAF */

.about-content p {
    margin: 0 auto 20px;

    max-width: 500px;

    font-size: 15px;
    line-height: 1.7;

    text-align: center;
}


/* DAFTAR KEUNGGULAN */

.about-content ul {
    margin: 0 auto;

    padding: 0;

    list-style: none;

    text-align: left;

    max-width: 300px;
}


.about-content ul li {
    margin-bottom: 10px;

    font-size: 14px;
}

/* ==================================================
   MOBILE RESPONSIVE - TAHAP 5
   STATISTIK
   ================================================== */

.stats {
    width: 100%;
    max-width: 100%;

    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 15px;

    padding: 10px 20px 30px;

    margin: -150px auto 0;

    box-sizing: border-box;
}


.stat-card {
    width: 100%;
    min-width: 0;

    min-height: 100px;

    padding: 20px 10px;

    box-sizing: border-box;

    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;

    text-align: center;
}


.stat-card h2 {
    margin: 0 0 5px;

    font-size: 28px;

    line-height: 1.2;
}


.stat-card p {
    margin: 0;

    font-size: 14px;

    line-height: 1.4;
}

/* ==================================================
   MOBILE RESPONSIVE - TAHAP 6
   VISI & MISI
   ================================================== */

.vision-mission {
    width: 100%;
    max-width: 100%;

    padding: 50px 20px;

    margin: 0 auto;

    box-sizing: border-box;
}


.vision-mission .section-heading {
    width: 100%;
    max-width: 100%;

    text-align: center;

    margin-bottom: 25px;
}


.vision-mission .section-heading h2 {
    font-size: 27px;
    line-height: 1.3;

    margin-bottom: 10px;
}


.vision-mission .section-heading p {
    font-size: 15px;
    line-height: 1.6;

    margin: 0 auto;

    max-width: 450px;
}


.vm-container {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;

    gap: 20px;
}


.vm-card {
    width: 100%;
    max-width: 100%;

    padding: 25px 20px;

    box-sizing: border-box;

    text-align: center;
}


.vm-card .icon {
    font-size: 35px;

    margin-bottom: 10px;
}


.vm-card h3 {
    font-size: 22px;

    margin: 0 0 15px;
}


.vm-card p {
    margin: 0 auto;

    max-width: 450px;

    font-size: 15px;
    line-height: 1.7;
}


.vm-card ul {
    margin: 0 auto;

    padding-left: 20px;

    max-width: 450px;

    text-align: left;
}


.vm-card ul li {
    margin-bottom: 10px;

    font-size: 15px;
    line-height: 1.6;
}

/* ==================================================
   MOBILE RESPONSIVE - TAHAP 7
   PROGRAM UNGGULAN
   ================================================== */

.program {
    width: 100%;
    max-width: 100%;

    padding: 50px 20px;

    margin: 0 auto;

    box-sizing: border-box;
}


.program .section-heading {
    width: 100%;
    max-width: 100%;

    text-align: center;

    margin-bottom: 25px;
}


.program .section-heading h2 {
    font-size: 27px;
    line-height: 1.3;

    margin-bottom: 10px;
}


.program .section-heading p {
    max-width: 450px;

    margin: 0 auto;

    font-size: 15px;
    line-height: 1.6;
}


.program-container {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;

    gap: 20px;
}


.program-card {
    width: 100%;
    max-width: 100%;

    padding: 25px 20px;

    box-sizing: border-box;

    text-align: center;
}


.program-icon {
    font-size: 35px;

    margin-bottom: 12px;
}


.program-card h3 {
    margin: 0 0 12px;

    font-size: 21px;
}


.program-card p {
    max-width: 450px;

    margin: 0 auto;

    font-size: 15px;
    line-height: 1.7;
}

/* ==================================================
   MOBILE RESPONSIVE - TAHAP 8
   GALERI
   ================================================== */

.gallery {
    width: 100%;
    max-width: 100%;

    padding: 50px 20px;

    margin: 0 auto;

    box-sizing: border-box;
}


.gallery .section-heading {
    width: 100%;
    max-width: 100%;

    text-align: center;

    margin-bottom: 25px;
}


.gallery .section-heading h2 {
    font-size: 27px;
    line-height: 1.3;

    margin-bottom: 10px;
}


.gallery .section-heading p {
    max-width: 450px;

    margin: 0 auto;

    font-size: 15px;
    line-height: 1.6;
}


/* GRID GALERI */

.gallery-container {
    width: 100%;
    max-width: 100%;

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 12px;
}


/* CARD */

.gallery-card {
    width: 100%;

    overflow: hidden;

    border-radius: 12px;

    box-sizing: border-box;
}


/* FOTO */

.gallery-card img {
    display: block;

    width: 100%;
    height: 150px;

    object-fit: cover;
}


/* TOMBOL LIHAT SEMUA */

.gallery-more {
    display: flex;

    justify-content: center;

    margin-top: 25px;
}


.gallery-more .btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 11px 20px;

    font-size: 14px;
}

/* ==================================================
   MOBILE RESPONSIVE - TAHAP 9
   BERITA & PENGUMUMAN - DASHBOARD
   ================================================== */

.news-home {
    width: 100%;
    max-width: 100%;

    padding: 50px 20px;

    margin: 0 auto;

    box-sizing: border-box;
}


.news-home .section-heading {
    width: 100%;
    max-width: 100%;

    text-align: center;

    margin-bottom: 25px;
}


.news-home .section-heading h2 {
    font-size: 27px;
    line-height: 1.3;

    margin-bottom: 10px;
}


.news-home .section-heading p {
    max-width: 450px;

    margin: 0 auto;

    font-size: 15px;
    line-height: 1.6;
}


/* CONTAINER BERITA */

.news-home .news-container {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;

    gap: 20px;
}


/* CARD BERITA */

.news-home .news-card {
    width: 100%;
    max-width: 100%;

    box-sizing: border-box;

    overflow: hidden;

    border-radius: 15px;
}


/* FOTO */

.news-home .news-card img {
    display: block;

    width: 100%;
    height: 190px;

    object-fit: cover;
}


/* ISI */

.news-home .news-content {
    padding: 18px 20px;
}


/* TANGGAL */

.news-home .news-date {
    display: block;

    margin-bottom: 8px;

    font-size: 13px;
}


/* JUDUL */

.news-home .news-content h3 {
    margin: 0 0 10px;

    font-size: 19px;
    line-height: 1.4;
}


/* RINGKASAN */

.news-home .news-content p {
    margin: 0;

    font-size: 14px;

    line-height: 1.6;
}

/* ==========================
   BACK TO TOP - MOBILE
   ========================== */

#backToTop {
    right: 20px;
    bottom: 100px;
}

}

/* ==================================================
   MOBILE RESPONSIVE - HALAMAN GURU
   ================================================== */

@media (max-width: 768px) {

    /* ==========================
       HEADER HALAMAN
       ========================== */

    .page-header {
        width: 100%;
        max-width: 100%;

        padding: 40px 20px 30px;

        box-sizing: border-box;

        text-align: center;

        overflow: hidden;
    }


    .page-header h1 {
        margin: 0 0 10px;

        font-size: 28px;
        line-height: 1.3;

        word-wrap: break-word;
    }


    .page-header p {
        margin: 0;

        font-size: 14px;
        line-height: 1.6;
    }


    /* ==========================
       CONTAINER GURU
       ========================== */

    .teacher-container {
        width: 100%;
        max-width: 100%;

        margin: 0 auto;

        padding: 30px 20px 50px;

        box-sizing: border-box;

        display: grid;

        grid-template-columns: 1fr;

        gap: 20px;

        overflow: hidden;
    }


    /* ==========================
       CARD GURU
       ========================== */

    .teacher-card {
        width: 100%;
        max-width: 100%;

        min-width: 0;

        margin: 0;

        padding: 20px 15px;

        box-sizing: border-box;

        text-align: center;

        overflow: hidden;

        border-radius: 15px;
    }


    /* ==========================
       FOTO GURU
       ========================== */

    .teacher-card img {
        display: block;

        width: 120px;
        height: 120px;

        max-width: 100%;

        margin: 0 auto 15px;

        object-fit: cover;

        border-radius: 50%;
    }


    /* ==========================
       NAMA GURU
       ========================== */

    .teacher-card h3 {
        width: 100%;
        max-width: 100%;

        margin: 0 0 10px;

        font-size: 18px;
        line-height: 1.4;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       INFORMASI GURU
       ========================== */

    .teacher-card p {
        width: 100%;
        max-width: 100%;

        margin: 6px auto;

        font-size: 14px;
        line-height: 1.6;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       MATA PELAJARAN
       ========================== */

    .teacher-card .teacher-subject {
        width: 100%;
        max-width: 100%;

        margin-top: 8px;

        font-size: 13px;
        line-height: 1.6;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       PENCEGAHAN LAYOUT TERPOTONG
       ========================== */

    .teacher-container *,
    .teacher-card * {
        max-width: 100%;

        box-sizing: border-box;
    }

}

/* ==================================================
   MOBILE RESPONSIVE - HALAMAN BERITA
   FOTO ATAS - ISI DI BAWAH
   ================================================== */

@media (max-width: 768px) {

    /* ==========================
       HEADER HALAMAN
       ========================== */

    .page-header {
        width: 100%;
        max-width: 100%;

        padding: 40px 20px 30px;

        box-sizing: border-box;

        text-align: center;

        overflow: hidden;
    }

    .page-header h1 {
        margin: 0 0 10px;

        font-size: 28px;
        line-height: 1.3;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .page-header p {
        margin: 0;

        font-size: 14px;
        line-height: 1.6;
    }


    /* ==========================
       CONTAINER HALAMAN BERITA
       ========================== */

    .news-page {
        width: 100%;
        max-width: 100%;

        margin: 0 auto;

        padding: 30px 20px 50px;

        box-sizing: border-box;

        display: block;

        overflow: hidden;
    }


    /* ==========================
       CARD BERITA
       ========================== */

    .news-page .news-card {

        width: 100%;
        max-width: 100%;

        min-width: 0;

        margin: 0 0 25px;

        padding: 0;

        box-sizing: border-box;

        display: flex;

        flex-direction: column;

        grid-template-columns: none;

        grid-template-rows: none;

        gap: 0;

        overflow: hidden;

        border-radius: 15px;
    }


    /* ==========================
       FOTO BERITA
       ========================== */

    .news-page .news-card > img {

        display: block;

        width: 100%;
        max-width: 100%;

        height: 190px;

        margin: 0;

        padding: 0;

        object-fit: cover;

        flex: none;
    }


    /* ==========================
       KONTEN BERITA
       ========================== */

    .news-page .news-content {

        width: 100%;
        max-width: 100%;

        min-width: 0;

        margin: 0;

        padding: 18px 18px 20px;

        box-sizing: border-box;

        display: block;

        overflow: hidden;
    }


    /* ==========================
       KATEGORI
       ========================== */

    .news-page .news-category {

        display: inline-block;

        max-width: 100%;

        margin-bottom: 8px;

        font-size: 12px;

        line-height: 1.5;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       JUDUL
       ========================== */

    .news-page .news-content h2 {

        width: 100%;
        max-width: 100%;

        margin: 0 0 10px;

        font-size: 19px;

        line-height: 1.4;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       TANGGAL
       ========================== */

    .news-page .news-date {

        width: 100%;
        max-width: 100%;

        margin: 0 0 12px;

        font-size: 13px;

        line-height: 1.5;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       RINGKASAN
       ========================== */

    .news-page .news-summary {

        width: 100%;
        max-width: 100%;

        margin: 0 0 15px;

        font-size: 14px;

        line-height: 1.7;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       TOMBOL
       ========================== */

    .news-page .news-content .btn {

        display: inline-flex;

        align-items: center;
        justify-content: center;

        max-width: 100%;

        padding: 10px 18px;

        font-size: 13px;

        line-height: 1.4;

        text-decoration: none;

        box-sizing: border-box;
    }


    /* ==========================
       CEGAH ELEMEN MELEBAR
       ========================== */

    .news-page .news-card *,
    .news-page .news-card img {

        box-sizing: border-box;

        max-width: 100%;
    }

}

/* ==================================================
   MOBILE RESPONSIVE - HALAMAN GALERI
   SESUAI STRUKTUR GALERI ASLI
   ================================================== */

@media (max-width: 768px) {

    /* ==========================
       HEADER
       ========================== */

    .page-header {
        width: 100%;
        max-width: 100%;

        padding: 40px 20px 30px;

        box-sizing: border-box;

        text-align: center;

        overflow: hidden;
    }


    .page-header h1 {
        margin: 0 0 10px;

        font-size: 28px;
        line-height: 1.3;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    .page-header p {
        margin: 0;

        font-size: 14px;
        line-height: 1.6;
    }


    /* ==========================
       FILTER BULAN
       ========================== */

    .gallery-filter {
        width: 100%;
        max-width: 100%;

        padding: 20px;

        margin: 0 auto;

        box-sizing: border-box;

        text-align: center;
    }


    .gallery-filter label {
        display: block;

        margin-bottom: 10px;

        font-size: 14px;
    }


    .gallery-filter select {
        width: 100%;
        max-width: 300px;

        padding: 11px 12px;

        box-sizing: border-box;

        font-size: 14px;
    }


    /* ==========================
       AREA GALERI
       ========================== */

    .gallery-page {
        width: 100%;
        max-width: 100%;

        padding: 20px 15px 50px;

        margin: 0 auto;

        box-sizing: border-box;

        overflow: hidden;
    }


    /* ==========================
       JUDUL BULAN
       ========================== */

    .gallery-month {
        width: 100%;
        max-width: 100%;

        margin: 25px 0 15px;

        padding: 0;

        box-sizing: border-box;

        text-align: center;

        font-size: 21px;

        line-height: 1.4;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       GRID GALERI
       ========================== */

    .gallery-grid {
        width: 100%;
        max-width: 100%;

        margin: 0;
        padding: 0;

        box-sizing: border-box;

        display: grid;

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 12px;

        overflow: hidden;
    }


    /* ==========================
       ITEM GALERI
       ========================== */

    .gallery-item {
        width: 100%;
        max-width: 100%;

        min-width: 0;

        margin: 0;
        padding: 0;

        box-sizing: border-box;

        overflow: hidden;

        border-radius: 12px;
    }


    /* ==========================
       FOTO
       ========================== */

    .gallery-item img {
        display: block;

        width: 100%;
        max-width: 100%;

        height: 130px;

        margin: 0;
        padding: 0;

        object-fit: cover;

        cursor: pointer;
    }


    /* ==========================
       INFORMASI FOTO
       ========================== */

    .gallery-info {
        width: 100%;
        max-width: 100%;

        padding: 12px 10px;

        box-sizing: border-box;

        overflow: hidden;

        text-align: left;
    }


    /* ==========================
       JUDUL FOTO
       ========================== */

    .gallery-info h3 {
        width: 100%;
        max-width: 100%;

        margin: 0 0 6px;

        font-size: 14px;

        line-height: 1.4;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       KETERANGAN
       ========================== */

    .gallery-info p {
        width: 100%;
        max-width: 100%;

        margin: 0 0 6px;

        font-size: 12px;

        line-height: 1.5;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       TANGGAL
       ========================== */

    .gallery-info small {
        display: block;

        width: 100%;
        max-width: 100%;

        font-size: 11px;

        line-height: 1.4;
    }


    /* ==========================
       GALERI KOSONG
       ========================== */

    .gallery-empty {
        width: 100%;
        max-width: 100%;

        padding: 40px 20px;

        box-sizing: border-box;

        text-align: center;
    }


    .gallery-empty i {
        font-size: 40px;

        margin-bottom: 15px;
    }


    .gallery-empty p {
        margin: 0;

        font-size: 14px;
    }


    /* ==========================
       LIGHTBOX
       ========================== */

    #lightbox {
        position: fixed;

        top: 0;
        left: 0;

        width: 100%;
        height: 100%;

        padding: 20px;

        box-sizing: border-box;

        display: none;

        align-items: center;
        justify-content: center;

        z-index: 9999;
    }


    #lightbox-img {
        display: block;

        width: auto;
        max-width: 100%;

        height: auto;
        max-height: 85vh;

        object-fit: contain;

        border-radius: 10px;
    }


    /* ==========================
       PENCEGAHAN OVERFLOW
       ========================== */

    .gallery-page *,
    .gallery-grid *,
    .gallery-item * {

        box-sizing: border-box;

        max-width: 100%;
    }

}

/* ==================================================
   MOBILE RESPONSIVE - HALAMAN PMBM
   ================================================== */

@media (max-width: 768px) {

    /* ==========================
       HEADER
       ========================== */

    .page-header {
        width: 100%;
        max-width: 100%;

        padding: 40px 20px 30px;

        box-sizing: border-box;

        text-align: center;

        overflow: hidden;
    }

    .page-header h1 {
        margin: 0 0 10px;

        font-size: 28px;
        line-height: 1.3;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .page-header p {
        margin: 0;

        font-size: 14px;
        line-height: 1.6;
    }


    /* ==========================
       SECTION PMBM
       ========================== */

    .pmbm-section {
        width: 100%;
        max-width: 100%;

        margin: 0;
        padding: 35px 20px 50px;

        box-sizing: border-box;

        overflow: hidden;
    }


    /* ==========================
       CONTAINER
       ========================== */

    .pmbm-container {
        width: 100%;
        max-width: 100%;

        margin: 0 auto;

        padding: 0;

        box-sizing: border-box;

        display: flex;
        flex-direction: column;

        gap: 20px;
    }


    /* ==========================
       INTRO
       ========================== */

    .pmbm-intro {
        width: 100%;
        max-width: 100%;

        padding: 5px 0 10px;

        box-sizing: border-box;

        text-align: center;

        overflow: hidden;
    }

    .pmbm-intro h2 {
        margin: 0 0 15px;

        font-size: 25px;
        line-height: 1.35;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .pmbm-intro p {
        width: 100%;
        max-width: 500px;

        margin: 0 auto 15px;

        font-size: 14px;
        line-height: 1.7;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       BOX PMBM
       ========================== */

    .pmbm-box {
        width: 100%;
        max-width: 100%;

        min-width: 0;

        margin: 0;
        padding: 22px 18px;

        box-sizing: border-box;

        overflow: hidden;

        border-radius: 15px;
    }


    /* ==========================
       JUDUL BOX
       ========================== */

    .pmbm-box h2 {
        width: 100%;
        max-width: 100%;

        margin: 0 0 18px;

        font-size: 20px;
        line-height: 1.4;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    .pmbm-box h2 i {
        margin-right: 6px;
    }


    /* ==========================
       PERSYARATAN
       ========================== */

    .pmbm-box ol {
        width: 100%;
        max-width: 100%;

        margin: 0;

        padding-left: 22px;

        box-sizing: border-box;
    }

    .pmbm-box ol li {
        margin-bottom: 10px;

        font-size: 14px;

        line-height: 1.7;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       JADWAL
       ========================== */

    .pmbm-schedule {
        width: 100%;
        max-width: 100%;

        display: flex;

        flex-direction: column;

        gap: 12px;

        box-sizing: border-box;
    }

    .pmbm-schedule > div {
        width: 100%;
        max-width: 100%;

        padding: 12px 14px;

        box-sizing: border-box;

        display: flex;

        flex-direction: column;

        gap: 4px;

        border-radius: 10px;
    }

    .pmbm-schedule strong {
        font-size: 14px;

        line-height: 1.5;
    }

    .pmbm-schedule span {
        font-size: 13px;

        line-height: 1.5;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       ALUR PENDAFTARAN
       ========================== */

    .pmbm-flow {
        width: 100%;
        max-width: 100%;

        display: flex;

        flex-direction: column;

        gap: 18px;

        box-sizing: border-box;
    }


    .pmbm-step {
        width: 100%;
        max-width: 100%;

        min-width: 0;

        padding: 20px 15px;

        box-sizing: border-box;

        text-align: center;

        border-radius: 12px;

        overflow: hidden;
    }


    .pmbm-step > span {
        display: flex;

        align-items: center;
        justify-content: center;

        width: 42px;
        height: 42px;

        margin: 0 auto 10px;

        border-radius: 50%;

        font-size: 17px;

        font-weight: bold;
    }


    .pmbm-step h3 {
        margin: 0 0 8px;

        font-size: 18px;

        line-height: 1.4;
    }


    .pmbm-step p {
        width: 100%;
        max-width: 400px;

        margin: 0 auto;

        font-size: 13px;

        line-height: 1.6;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    /* ==========================
       CTA
       ========================== */

    .pmbm-cta {
        width: 100%;
        max-width: 100%;

        margin: 0;

        padding: 25px 18px;

        box-sizing: border-box;

        text-align: center;

        overflow: hidden;

        border-radius: 15px;
    }


    .pmbm-cta h2 {
        width: 100%;
        max-width: 100%;

        margin: 0 0 10px;

        font-size: 23px;

        line-height: 1.4;

        word-wrap: break-word;
        overflow-wrap: break-word;
    }


    .pmbm-cta p {
        width: 100%;
        max-width: 450px;

        margin: 0 auto 20px;

        font-size: 14px;

        line-height: 1.6;
    }


    /* ==========================
       TOMBOL CTA
       ========================== */

    .pmbm-cta-buttons {
        width: 100%;
        max-width: 100%;

        display: flex;

        flex-direction: column;

        gap: 12px;

        box-sizing: border-box;
    }


    .pmbm-cta-buttons .btn-pmbm {
        display: flex;

        align-items: center;
        justify-content: center;

        width: 100%;
        max-width: 100%;

        min-height: 46px;

        padding: 11px 15px;

        box-sizing: border-box;

        font-size: 14px;

        line-height: 1.4;

        text-align: center;

        text-decoration: none;

        word-wrap: break-word;
        overflow-wrap: break-word;

        border-radius: 10px;
    }


    .pmbm-cta-buttons .btn-pmbm i {
        margin-right: 7px;

        flex-shrink: 0;
    }


    /* ==========================
       CEGAH OVERFLOW
       ========================== */

    .pmbm-section *,
    .pmbm-container *,
    .pmbm-box *,
    .pmbm-flow *,
    .pmbm-step *,
    .pmbm-cta * {

        box-sizing: border-box;

        max-width: 100%;
    }

}

#backToTop {
    right: 20px;
    bottom: 100px;
}

/* ==========================================
   JARAK ANTAR SUB-POIN FORM PMBM
   BAGIAN A - E
   ========================================== */

.pmbm-form-box .pmbm-form-group {
    margin-bottom: 20px;
}


/* Jarak untuk baris yang berisi 2 field */

.pmbm-form-box .pmbm-form-row {
    gap: 20px;
    margin-bottom: 20px;
}


/* Label */

.pmbm-form-box .pmbm-form-group label {
    display: block;
    margin-bottom: 8px;
}


/* Judul kecil seperti "Alamat Tempat Tinggal" */

.pmbm-form-box > h3 {
    margin-top: 25px;
    margin-bottom: 15px;
}


/* Persyaratan */

.pmbm-requirements ol {
    margin-top: 18px;
    padding-left: 25px;
}

.pmbm-requirements ol li {
    margin-bottom: 16px;
    line-height: 1.7;
}

.pmbm-requirements ol li:last-child {
    margin-bottom: 0;
}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 768px) {

    /* Jarak antar field */

    .pmbm-form-box .pmbm-form-group {
        margin-bottom: 22px;
    }


    /* Field yang berpasangan */

    .pmbm-form-box .pmbm-form-row {
        gap: 0;

        margin-bottom: 0;

        display: flex;
        flex-direction: column;
    }


    .pmbm-form-box .pmbm-form-row .pmbm-form-group {
        margin-bottom: 22px;
    }


    /* Label */

    .pmbm-form-box .pmbm-form-group label {
        margin-bottom: 8px;

        line-height: 1.5;
    }


    /* Input */

    .pmbm-form-box .pmbm-form-group input,
    .pmbm-form-box .pmbm-form-group select,
    .pmbm-form-box .pmbm-form-group textarea {
        width: 100%;
    }


    /* Subjudul alamat */

    .pmbm-form-box > h3 {
        margin-top: 28px;
        margin-bottom: 18px;

        line-height: 1.4;
    }


    /* ==========================================
       PERSYARATAN E
       ========================================== */

    .pmbm-requirements ol {
        margin-top: 20px;
        padding-left: 25px;
    }


    .pmbm-requirements ol li {
        margin-bottom: 17px;

        line-height: 1.7;
    }


    .pmbm-requirements ol li:last-child {
        margin-bottom: 0;
    }

}

/* =========================================================
   TOMBOL FORMULIR PMBM
   ========================================================= */

.pmbm-form-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
}

/* Tombol Kembali */
.pmbm-btn-back,
.pmbm-btn-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 12px 24px;

    border-radius: 8px;

    background-color: #16a34a;
    color: #ffffff;

    text-decoration: none;
    border: none;

    font-size: 15px;
    font-weight: 600;

    cursor: pointer;

    transition: all 0.3s ease;
}

/* Efek saat disentuh / diarahkan */
.pmbm-btn-back:hover,
.pmbm-btn-submit:hover {
    background-color: #15803d;
    color: #ffffff;
    transform: translateY(-2px);
}

/* =========================================================
   TAMPILAN HP
   ========================================================= */

@media (max-width: 768px) {

    .pmbm-form-actions {
        flex-direction: column;
        gap: 12px;
        margin-top: 25px;
    }

    .pmbm-btn-back,
    .pmbm-btn-submit {
        width: 100%;
        box-sizing: border-box;

        padding: 13px 18px;

        font-size: 14px;
    }

    .detail-slider-dots {
    gap: 7px;
    margin-top: 12px;
}

.detail-slider-dot {
    width: 8px;
    height: 8px;
}

}

/* ==========================
   SLIDER DETAIL BERITA
========================== */

.detail-slider {
    position: relative;
    width: 100%;
    margin: 30px 0;
    overflow: hidden;
    border-radius: 10px;
}

.detail-slider-container {
    display: flex;
    transition: transform 0.5s ease;
}

.detail-slide {
    min-width: 100%;
}

.detail-slide img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    display: block;
}


/* ==========================
   TOMBOL SLIDER
========================== */

.detail-slider-prev,
.detail-slider-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: 45px;
    height: 45px;

    border: none;
    border-radius: 50%;

    background: rgba(0, 0, 0, 0.6);
    color: white;

    font-size: 24px;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: 0.3s;
}

.detail-slider-prev:hover,
.detail-slider-next:hover {
    background: #198754;
}

.detail-slider-prev {
    left: 15px;
}

.detail-slider-next {
    right: 15px;
}

@media (max-width: 768px) {

    .detail-slider {
        margin: 20px 0;
        border-radius: 8px;
    }

    .detail-slide img {
        height: 250px;
    }

    .detail-slider-prev,
    .detail-slider-next {
        width: 38px;
        height: 38px;
        font-size: 20px;
    }

    .detail-slider-prev {
        left: 10px;
    }

    .detail-slider-next {
        right: 10px;
    }

}

/* ==========================
   INDIKATOR SLIDER
========================== */

.detail-slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
}

.detail-slider-dot {
    width: 10px;
    height: 10px;

    padding: 0;

    border: none;
    border-radius: 50%;

    background: #ccc;

    cursor: pointer;

    transition: 0.3s;
}

.detail-slider-dot.active {
    background: #198754;
    transform: scale(1.2);
}

.detail-slider-dot:hover {
    background: #198754;
}

@media (max-width: 768px) {

    .detail-slider {
        position: relative;
        margin: 20px 0;
        border-radius: 8px;
        overflow: hidden;
    }

    .detail-slide img {
        width: 100%;
        height: 250px;
        object-fit: cover;
        display: block;
    }

    .detail-slider-prev,
    .detail-slider-next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);

        width: 38px;
        height: 38px;

        font-size: 20px;

        display: flex;
        align-items: center;
        justify-content: center;

        z-index: 10;
    }

    .detail-slider-prev {
        left: 10px;
    }

    .detail-slider-next {
        right: 10px;
    }

    .detail-slider-dots {
        gap: 7px;
        margin-top: 12px;
    }

    .detail-slider-dot {
        width: 8px;
        height: 8px;
    }

}

/* =========================================
   SLIDER FOTO GALERI
========================================= */

.gallery-photo-slider {
    position: relative;
    width: 100%;
    height: 230px;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}

.gallery-photo-track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.4s ease;
}

.gallery-photo-slide {
    min-width: 100%;
    height: 100%;
    flex-shrink: 0;
}

.gallery-photo-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    cursor: pointer;
}


/* Tombol kiri dan kanan */

.gallery-photo-prev,
.gallery-photo-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: 36px;
    height: 36px;

    border: none;
    border-radius: 50%;

    background: rgba(0, 0, 0, 0.55);
    color: white;

    font-size: 18px;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 5;

    transition: 0.3s;
}

.gallery-photo-prev {
    left: 10px;
}

.gallery-photo-next {
    right: 10px;
}

.gallery-photo-prev:hover,
.gallery-photo-next:hover {
    background: rgba(0, 0, 0, 0.8);
}


/* Titik indikator */

.gallery-photo-dots {
    position: absolute;

    bottom: 10px;
    left: 50%;

    transform: translateX(-50%);

    display: flex;
    gap: 6px;

    z-index: 5;
}

.gallery-photo-dot {
    width: 8px;
    height: 8px;

    padding: 0;

    border: none;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.6);

    cursor: pointer;

    transition: 0.3s;
}

.gallery-photo-dot.active {
    background: white;
    transform: scale(1.25);
}


/* Jika tidak ada foto */

.gallery-no-image {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 8px;

    background: #f1f1f1;
}

.gallery-no-image i {
    font-size: 35px;
}

.gallery-no-image span {
    font-size: 14px;
}

/* =========================================
   BAGIKAN BERITA - WHATSAPP
========================================= */

.share-berita {
    margin-top: 35px;
    padding-top: 20px;

    border-top: 1px solid #e5e5e5;

    display: flex;
    align-items: center;
    gap: 12px;
}

.share-label {
    font-size: 15px;
    font-weight: 600;
    color: #555;
}

.btn-share-whatsapp {
    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #25D366;
    color: #ffffff;

    border-radius: 50%;

    text-decoration: none;

    font-size: 25px;

    transition: 0.3s ease;
}

.btn-share-whatsapp:hover {
    transform: translateY(-3px) scale(1.05);
}

@media (max-width: 768px) {

    .share-berita {
        flex-direction: column;
        align-items: flex-start;
    }

    .btn-share-whatsapp {
        width: 100%;
    }

}

/* ==================================================
   KOMENTAR BERITA
================================================== */

.komentar-section {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #e5e5e5;
}

.komentar-section h2 {
    margin-bottom: 8px;
    font-size: 24px;
}

.komentar-section > p {
    margin-bottom: 25px;
    color: #777;
}


/* ==============================
   FORM KOMENTAR
============================== */

.komentar-form {
    background: #f8faf9;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 35px;
    border: 1px solid #e5e5e5;
}

.komentar-form .form-group {
    margin-bottom: 18px;
}

.komentar-form label {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
}

.komentar-form input,
.komentar-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    font-family: inherit;
    font-size: 15px;
    box-sizing: border-box;
}

.komentar-form textarea {
    min-height: 120px;
    resize: vertical;
}

.komentar-form input:focus,
.komentar-form textarea:focus {
    outline: none;
    border-color: #198754;
}


/* ==============================
   TOMBOL KOMENTAR
============================== */

.btn-komentar {
    border: none;
    padding: 11px 20px;
    border-radius: 8px;
    background: #198754;
    color: white;
    font-size: 15px;
    cursor: pointer;
    transition: 0.3s;
}

.btn-komentar:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}


/* ==============================
   DAFTAR KOMENTAR
============================== */

.daftar-komentar {
    margin-top: 25px;
}

.komentar-item {
    padding: 18px 0;
    border-bottom: 1px solid #e5e5e5;
}

.komentar-item:last-child {
    border-bottom: none;
}

.komentar-nama {
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 4px;
}

.komentar-tanggal {
    font-size: 13px;
    color: #888;
    margin-bottom: 10px;
}

.komentar-isi {
    line-height: 1.7;
    color: #444;
    white-space: pre-line;
}


/* ==============================
   BELUM ADA KOMENTAR
============================== */

.komentar-kosong {
    text-align: center;
    padding: 25px;
    color: #888;
    background: #f8f8f8;
    border-radius: 10px;
}


/* ==================================================
   RESPONSIVE DETAIL BERITA & KOMENTAR
   ================================================== */

@media (max-width: 768px) {

    /* ==============================
       DETAIL BERITA
    ============================== */

    .detail-berita {
        width: 100%;
        padding: 15px;
        box-sizing: border-box;
    }

    .detail-card {
        width: 100%;
        padding: 20px 16px;
        box-sizing: border-box;
        border-radius: 12px;
    }

    .detail-title {
        font-size: 23px;
        line-height: 1.4;
        margin-bottom: 12px;
    }

    .detail-meta {
        display: flex;
        flex-direction: column;
        gap: 7px;
        font-size: 13px;
    }

    .detail-content {
        font-size: 15px;
        line-height: 1.8;
        text-align: left;
    }


    /* ==============================
       SLIDER BERITA
    ============================== */

    .detail-slider {
        width: 100%;
        overflow: hidden;
        border-radius: 10px;
        position: relative;
    }

    .detail-slide img {
        width: 100%;
        height: auto;
        max-height: 350px;
        object-fit: cover;
    }

    .detail-slider-prev,
    .detail-slider-next {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }


    /* ==============================
       BAGIKAN BERITA
    ============================== */

    .share-section {
        margin-top: 25px;
        text-align: center;
    }

    .share-section p {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .share-whatsapp {
        width: 42px;
        height: 42px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
    }


    /* ==============================
       TOMBOL KEMBALI
    ============================== */

    .detail-actions {
        margin-top: 25px;
    }

    .detail-actions .btn {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }


    /* ==============================
       KOMENTAR
    ============================== */

    .komentar-section {
        margin-top: 30px;
        padding-top: 25px;
    }

    .komentar-section h2 {
        font-size: 21px;
        line-height: 1.4;
    }

    .komentar-section > p {
        font-size: 14px;
        line-height: 1.6;
    }


    /* ==============================
       FORM KOMENTAR
    ============================== */

    .komentar-form {
        padding: 18px 15px;
        margin-top: 20px;
        border-radius: 10px;
        box-sizing: border-box;
    }

    .komentar-form .form-group {
        margin-bottom: 15px;
    }

    .komentar-form label {
        font-size: 14px;
    }

    .komentar-form input,
    .komentar-form textarea {
        width: 100%;
        box-sizing: border-box;
        font-size: 16px;
    }

    .komentar-form textarea {
        min-height: 120px;
    }

    .btn-komentar {
        width: 100%;
        padding: 12px;
    }


    /* ==============================
       DAFTAR KOMENTAR
    ============================== */

    .daftar-komentar {
        margin-top: 25px;
    }

    .daftar-komentar h3 {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .komentar-item {
        padding: 15px 0;
    }

    .komentar-nama {
        font-size: 15px;
    }

    .komentar-tanggal {
        font-size: 12px;
    }

    .komentar-isi {
        font-size: 14px;
        line-height: 1.7;
        word-break: break-word;
    }


    /* ==============================
       KOMENTAR KOSONG
    ============================== */

    .komentar-kosong {
        padding: 20px 15px;
        font-size: 14px;
    }

}

/* ==========================================
   PERBAIKAN MOBILE DETAIL BERITA
   ========================================== */

@media (max-width: 768px) {

    /* ==========================
       BAGIKAN BERITA
    ========================== */

    .share-section {
        margin-top: 25px;
        text-align: left;
    }

    .share-section p {
        margin-bottom: 15px;
        font-size: 18px;
        font-weight: 600;
    }

    .share-whatsapp {
        width: 52px !important;
        height: 52px;
        padding: 0 !important;

        display: inline-flex !important;
        align-items: center;
        justify-content: center;

        border-radius: 50% !important;

        box-sizing: border-box;
    }

    .share-whatsapp i {
        font-size: 25px;
    }


    /* ==========================
       TOMBOL KEMBALI
    ========================== */

    .detail-actions {
        margin-top: 25px;
        text-align: center;
    }

    .detail-actions .btn {
        width: auto !important;
        display: inline-block;
    }


    /* ==========================
       KOMENTAR
    ========================== */

    .komentar-section {
        margin-top: 30px;
        padding-top: 25px;
    }

    .komentar-section h2 {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .komentar-section > p {
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 20px;
    }


    /* ==========================
       FORM KOMENTAR
    ========================== */

    .komentar-form {
        padding: 18px;
        margin-top: 15px;
    }

    .komentar-form input,
    .komentar-form textarea {
        font-size: 16px;
        padding: 13px 15px;
    }

    .komentar-form textarea {
        min-height: 110px;
    }

    .btn-komentar {
        width: 100%;
        padding: 12px;
        font-size: 16px;
    }

}

/* ==========================================
   SHARE BERITA - MOBILE
   ========================================== */

@media (max-width: 768px) {

    .share-berita {
        margin-top: 25px;
        text-align: left;
    }

    .share-label {
        display: block;
        margin-bottom: 15px;
        font-size: 18px;
        font-weight: 600;
    }

    .btn-share-whatsapp {
        width: 52px !important;
        height: 52px !important;

        display: inline-flex !important;

        align-items: center;
        justify-content: center;

        padding: 0 !important;
        margin: 0 !important;

        border-radius: 50% !important;

        box-sizing: border-box;
    }

    .btn-share-whatsapp i {
        font-size: 25px;
    }

}