/* Background & All Items */
body {
    font-family: 'Poppins', sans-serif;
    color: #2b2b2b;
}
.bg-light-custom {
    background-color: #f7f9fc;
}

/* Card Design (Rounded, Borderless, Soft Shadow) */
.card-custom {
    background-color: rgb(255, 255, 255) !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04) !important;
    border: none !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-custom:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.08) !important;
}

/* Navbar style */
.navbar-custom {
    padding: 1.5rem 6rem !important;
}
.nav-pill-dark {
    background-color: #181818;
    color: #fff !important;
    border-radius: 1.5rem;
    padding: 0.5rem 2.5rem;
}
.nav-links-center {
    background-color: #181818;
    border-radius: 2rem;
    padding: 0.5rem 0.5rem;
}
.nav-links-center .nav-link {
    color: #fff !important;
    margin: 0 0.5rem;
}
.nav-item .nav-link.active {
    background-color: #dfdfdf;
    color: #860c76 !important;
    border-radius: 1.5rem;
    padding: 0.5rem 1.5rem;
}
.nav-link:hover {
    color: #e863d6 !important;
    border-radius: 1.5rem;
    font-weight: 600;
}
.dropdown-toggle:hover {
    background-color: #181818;
    color: #e863d6 !important;
    font-weight: 600;
}

/* Section Hero */
    .pop-out-image {
        margin-top: -10%;
        margin-bottom: 0; 
        position: relative;
        z-index: 2;
    }
    /* Penyesuaian ukuran untuk tampilan mobile agar rapi saat diperkecil */
    @media (max-width: 768px) {
        .mobile-title { font-size: 1.2rem !important; line-height: 1.4; }
        .mobile-desc { font-size: 0.75rem !important; margin-bottom: 10px !important; line-height: 1.4; }
        .mobile-btn { padding: 0.3rem 0.8rem !important; font-size: 0.7rem !important; }
        .mobile-gap { gap: 0.5rem !important; }
    }
    .hero-img {
    object-fit: cover;
    border-radius: 1.25rem; /* rounded-4 */
    }
    .line-height-lg {
    line-height: 1.8;
    }   

/* Skill & Tools Bar */
.skill-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
}
.progress {
    background-color: #f1f3f5;
    border-radius: 50rem;
    overflow: hidden;
}
.progress-bar {
    border-radius: 50rem;
    animation: loadProgress 2.5s ease-in-out forwards; 
}
/* keyframes Animation */
@keyframes loadProgress {
    0% {
        width: 0;
    }
    /* width on HTML */
}

/* Gambar Portofolio */
.img-portfolio {
    object-fit: cover;
    height: 300px;
    width: 100%;
    object-position: center;
}

/* Riwayat Pendidikan */
.timeline {
    margin-left: 10px;
}

.timeline-dot {
    position: absolute;
    left: -22px;
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.2);
}

@media (max-width: 768px) {
        .text-primary { font-size: 0.8rem !important; line-height: 1.4; }
        .text-warning { font-size: 0.8rem !important; line-height: 1.4; }
        .fw-bold { font-size: 1rem !important; line-height: 1.4; }
        .fw-medium { font-size: 0.6rem !important; margin-bottom: 0px !important; line-height: 1.4; }
        .text-muted { font-size: 0.6rem !important; margin-bottom: 0px !important; line-height: 1.4; }
        .text-muted-cat { font-size: 0.6rem !important; margin-bottom: 0px !important; line-height: 1.4; }
        .skill-icon { width: 15px !important; height: auto !important; object-position: center; }
        .mobile-gap { gap: 0.5rem !important; }
    }

/* Platform Link Styles */
.platform-icons .platform-link {
    text-decoration: none;
    color: #6c757d;
    font-size: 1.1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease;
}

.platform-icons .platform-link i {
    font-size: 1.5rem;
}

.platform-icons .platform-link:hover {
    color: #212529;
}

/* Footer Link Hover */
.footer-link {
    transition: opacity 0.3s ease;
}

.footer-link:hover {
    opacity: 0.7;
}

.text-muted-cat {
    background-color: #0e0e0e !important;
    color: #cdcdcd !important;
    padding: 5px;
    border-radius: 0.5rem;
}

@media (max-width: 768px) {
    .card-custom {
        padding: 1.5rem !important;
    }
    .mobile-desc {
        font-size: 0.55rem !important;
        margin-bottom: 10px !important;
        line-height: 1.4;
    }
}