/* Light Theme & Mobile Fixes for index.html */
:root {
    --space-cadet: #f7f8fa;
    --independence: #f0f1f6;
    --midnight-blue: #fff;
    --white: #fff;
    --black: #222;
    --cadet-blue-crayola: #444;
    --manatee: #e0e0e0;
    --orange-soda: #ff6a3d;
    --klein-blue: #1a2238;
}

body {
    background: var(--space-cadet) !important;
    color: var(--black) !important;
}

.header,
.footer {
    background: var(--midnight-blue) !important;
    color: var(--black) !important;
    box-shadow: 0 2px 12px #e0e0e0;
}

.section,
.container,
.project-container,
.contact-card {
    background: var(--white) !important;
    color: var(--black) !important;
}

.h2,
.h3,
.section-title,
.section-text,
.skills-title,
.skills-data,
.card-title,
.logo {
    color: var(--black) !important;
}

.btn,
.btn-primary,
.btn-primary.blue {
    background: var(--orange-soda) !important;
    color: #fff !important;
}

/* Hero Banner Badges (elems) mobile fix */
.hero-banner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: 350px;
    min-height: 180px;
    margin: 0 auto 24px auto;
    position: relative;
}

.hero-banner img.img-cover {
    width: 120px;
    height: 120px;
    min-width: 120px;
    min-height: 120px;
    object-fit: cover;
    border-radius: 16px;
}

.elem {
    background: var(--orange-soda);
    color: #fff;
    border-radius: 12px;
    padding: 10px 18px;
    font-size: 1.1rem;
    font-weight: 600;
    box-shadow: 0 2px 8px #e0e0e0;
    margin: 0 4px 4px 0;
    min-width: 90px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media (max-width: 600px) {
    .hero-banner {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        min-height: 120px;
        max-width: 98vw;
    }

    .elem {
        min-width: 80px;
        font-size: 0.98rem;
        padding: 8px 10px;
        margin: 0 2px 2px 0;
    }

    .hero-banner img.img-cover {
        width: 90px;
        height: 90px;
        min-width: 90px;
        min-height: 90px;
    }
}

/* Card stack/blog light background */
.card-stack-container,
.blog-card,
.portfolio-card,
.contact-card {
    background: #fff !important;
    color: var(--black) !important;
    box-shadow: 0 2px 12px #e0e0e0;
}