/* =========================
   GLOBAL
========================= */

body{
    background:#f4f6f9;
    font-family:'Segoe UI', sans-serif;
    overflow-x:hidden;
}

*{
    scroll-behavior:smooth;
}


/* =========================
   DASHBOARD
========================= */

#jam{
    font-weight:500;
    font-size:14px;
}

.card{
    border:none;
    border-radius:15px;
    box-shadow:0 6px 20px rgba(0,0,0,0.1);
    transition:0.3s;
}

.card:hover{
    transform: translateY(-5px);
    box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

/* =========================
   DASHBOARD CARD
========================= */

.dashboard-card{
    border:none;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.0.8);
    transition:0.3s;
    background:#fff;
}

.dashboard-card:hover{
    transform: translateY(-5px);
    box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

/* =========================
   DASHBOARD TITLE
========================= */

.dashboard-title{
    font-weight:700;
}

/* =========================
   DASHBOARD COLOR
========================= */

.card-anggota{
    background:linear-gradient(135deg,#7c3aed,#8b5cf6);
    color:white;
}

.card-event{
    background: linear-gradient(135deg,#ff8a65,#ff7043);
    color:white;
}

.card-masuk{
    background:linear-gradient(135deg,#16a34a,#22c55e);
    color:white;
}

.card-keluar{
    background:linear-gradient(135deg,#dc2626,#ef4444);
    color:white;
}

.card-saldo{
    background:linear-gradient(135deg,#2563eb,#3b82f6);
    color:white;
}

/* =========================
   LOGIN
========================= */
.login-card{
    background:#fff;
    width:400px !important;
    margin:80px auto;
    border-radius:15px;
}

.login-card h3{
    font-weight:bold;
}

.login-card input{
    border-radius:10px;
    padding:10px;
}

.login-card .btn{
    border-radius:10px;
}

/* =========================
   SIDEBAR
========================= */

/* ================= BACKGROUND ================= */
.bg-dark{
    background: linear-gradient(180deg, #1e1e2f, #2c2c54) !important;
}

/* ================= SIDEBAR ================= */
#sidebar{
    width:230px;
    min-height:100vh;
    position:sticky;
    top:0;
    overflow:hidden;
     transition:0.7s
}

.hide-sidebar{
    margin-left:-230px;
}

html, body{
    overflow-x:hidden;
}

#content{
    overflow-x:auto;
}

@media(max-width:768px){

    #sidebar{
        display:none;
        position:fixed;
        top:0;
        left:0;
        width:230px;
        height:100%;
        z-index:9999;
    }

    #sidebar.show{
        display:block;
    }

}

@media(min-width:769px){

    #sidebar{
        display:block !important;
    }

}

/* ================= LOGO ================= */
.logo{
    width:65px;
    border-radius:50%;
    box-shadow:0 4px 15px rgba(0,0,0,0.4);
}

/* ================= MENU ================= */
.menu{
    text-decoration:none;
    color:#dcdde1;
    padding:10px;
    border-radius:8px;
    display:flex;
    align-items:center;
    gap:10px;
    transition:0.3s;
    font-size:15px;
    transition:all 0.25s ease;
}

.menu:hover{
    background:#40739e;
    color:white;
    transform: translateX(6px);
}

/* ================= MOBILE MENU ================= */

.mobile-menu-btn{
    position:fixed;
    top:10px;
    left:10px;
    z-index:10000;
}

.mobile-menu-btn .btn{
    background:#1e293b;
    border:none;
    border-radius:10px;
    color:white;
    padding:6px 10px;
    font-size:14px;
    box-shadow:0 4px 12px rgba(0,0,0,0.2);
}

/* ================= ICON ================= */
.menu i{
    width:25px;
    text-align:center;
    font-size:18px;
}

/* ================= ACTIVE ================= */
.active-menu{
    background:#0ea5e9;
    color:white;
    font-weight:bold;
    box-shadow:0 4px 10px rgba(0,0,0,0.3);
}
/* ================= LOGOUT ================= */
.logout-menu{
    color:#ff4d4d;
    font-weight:bold;
}

.logout-menu:hover{
    background:#dc3545;
    color:white;
}


/* =========================
   HOME PAGE
========================= */
.hero{
    background:
    linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),
    url('../bg.jpeg') center/cover no-repeat;

    color:white;
    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;

    padding:120px 20px 80px;
}

.hero-desc{
    max-width:700px;
    margin:auto;
    font-size:18px;
    opacity:0.9;
}

.hero .btn{
    padding:14px 30px;
    border-radius:50px;
}

.card-img-top{
    width:100%;
    height:250px;
    object-fit:cover;
}

.home-card{
    border:none;
    border-radius:24px;
    overflow:hidden;
    background:white;
    transition:0.4s;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.home-card:hover{
    transform:translateY(-10px);
}

.pengumuman-card{
    background:white;
    border:none;
    padding:30px;
    border-radius:20px;
    margin-bottom:20px;
    box-shadow:0 4px 10px rgba(0,0,0,0.08);
    font-size:15px;
    transition:0.3s;
}

.pengumuman-card:hover{
    transform:translateY(-5px);
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
    transition:0.3s;
}

body{
    background:#f4f6f9;
    font-family:'Segoe UI',sans-serif;
}

.card-body{
    display:flex;
    flex-direction:column;
}

section{
    padding:120px 0;
}

.section-title{
    font-size:42px;
    font-weight:700;
    margin-bottom:50px;
}

/* =========================
   NAVBAR HOME
========================= */

.navbar{
    padding:18px 0;
    backdrop-filter:blur(10px);
    transition:0.3s;
}

.navbar-brand{
    font-weight:700;
    font-size:28px;
}

/* =========================
   KEGIATAN IMAGE
========================= */

.kegiatan-img{
    width:100%;
    height:350px;
    aspect-ratio:16/9;
    object-fit:cover;
}

/* =========================
   KEGIATAN TABLE IMAGE
========================= */

.kegiatan-img-table{
    width:80px;
    height:80px;
    object-fit:cover;
    border-radius:8px;
}

.btn-kegiatan{
    background:linear-gradient(135deg,#1f2937,#111827);
    color:white;
    border:none;
    transition:.3s;
}

.btn-kegiatan:hover{
    background:linear-gradient(135deg,#374151,#1f2937);
    color:white;
    transform:translateY(-3px);
}

/* =========================
   TABLE
========================= */

.table{
    background:white;
    border-radius:12px;
}

.table th{
    background:#0f172a;
    color:white;
    border:none;
}

.table td{
    vertical-align:middle;
}

/* =========================
   BUTTON
========================= */

.btn{
    border-radius:8px;
}

/* =========================
   TITLE
========================= */

h2{
    font-weight:600;
}

/* =========================
   PAGE TITLE
========================= */

.page-title{
    font-weight:700;
    margin-bottom:20px;
}

/* ===== TEXTAREA PENGUMUMAN ===== */

textarea.form-control{
    resize:none !important;
    border-radius:12px !important;
    padding:15px !important;
    min-height:220px;
}

/* ===== CARD KEGIATAN ===== */

.home-card .card-body{
    padding:20px;
}

.home-card h5{
    margin-bottom:10px;
    font-weight:700;
}

.home-card p{
    margin-top:10px;
    color:#555;
}

/* ===== TENTANG ===== */
#tentang{
    padding:100px 0;
}

.tentang-section{
    background:linear-gradient(135deg,#1f2937,#111827);
}

/* FIX MODAL EDIT AKUN */
.modal{
    z-index:99999 !important;
}

.modal-backdrop{
    z-index:99998 !important;
}

/* ===== layar ===== */
body{
    overflow-x: hidden;
}

/* ===== Print ===== */
@media print{

    body{
        background:white !important;
        overflow:hidden !important;
    }

    #sidebar,
    .mobile-menu-btn,
    .dashboard-card,
    .btn,
    .navbar,
    hr{
        display:none !important;
    }

    .d-flex{
        display:block !important;
    }

    #content{
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    .print-area{
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

}

/* ===== footer ===== */
.footer-text{
    color:#666;
    line-height:1.8;
    font-size:15px;
}

/* ===== sosmed icon ===== */
.sosmed-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:22px;
    transition:.3s;
}

.sosmed-instagram{
    background:linear-gradient(
    45deg,
    #f09433,
    #e6683c,
    #dc2743,
    #cc2366,
    #bc1888
    );
}

.sosmed-icon:hover{
    transform:translateY(-5px) scale(1.05);
}

