/* 1. COLOR THEME PALETTE */

:root {
    /* Backgrounds: Deep charcoal & slate */
    --bg-main: #121418;        /* Very dark charcoal with a subtle warm undertone */
    --bg-surface: #1a1d24;     /* Card and nav background */

    /* Typography: Soft creams instead of bright white */
    --text-primary: #f3ebd9;   /* Warm cream/ivory for main body text */
    --text-muted: #a39b8b;     /* Muted warm taupe for secondary details */
    --title-color: #f7e7c4;    /* Rich, soft cream-gold for headings */

    /* Accents & Highlights: Warm amber, cyan, & bronze (No green) */
    --border-color: #2e333d;   /* Subtle divider line color */
    --accent-color: #00ffff;   /* High-visibility Cyan for active states/links */
    --btn-outline: #38bdf8;    /* Soft sky blue for interactive outlines */
    --feature-color: #e5a952;  /* Warm golden-amber for tech stacks/features */
}

.title-color {
    color: var(--title-color) !important;
}

.feature-color {
    color: var(--feature-color) !important;
}

body {
    padding-top: 56px;
    padding-bottom: 60px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--bg-main) !important;
    color: var(--text-primary) !important;
}

main {
    flex: 1;
}

.site-img {
    width: 25rem !important;    
    height: 25rem !important;     
    max-width: 100% !important; 
    object-fit: scale-down;        
    border: none;
    border-radius: 2rem !important;
    display: inline-block;
}

a {
    text-decoration: none;
    color: var(--btn-outline); 
    font-weight: 500;
    transition: color 0.2s ease-in-out;
}

a:hover {
    color: var(--accent-color); 
    text-decoration: none;
}


.navbar {
    background-color: var(--bg-surface) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.bg-secondary.bg-opacity-10 {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-color) !important;
}

.text-secondary {
    color: var(--text-muted) !important;
}

.border-secondary, hr {
    border-color: var(--border-color) !important;
}

footer {
    background-color: var(--bg-surface) !important;
    border-top: 1px solid var(--border-color) !important;
}



/* MOBILE */
@media(max-width:768px) {
    body {
        padding-top: 70px;
    }

    .navbar-collapse {
        background-color: var(--bg-surface) !important;
        padding: 1rem;
        margin-top: 0.5rem;
        border-radius: 0.375rem; 
        border: 1px solid var(--border-color);
    }

    .navbar-nav .nav-link {
        color: var(--text-muted) !important;
        padding: 0.5rem 0;
    }

    .navbar-nav .nav-link.active,
    .navbar-nav .nav-link:hover {
        color: var(--accent-color) !important;
    }

    .site-img {
            width: 16rem !important;
            height: 14rem !important;
        }

    footer .container {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }
}