main css
    /* Adaptando regras para o tema claro */
body.light-theme {
    background-color: var(--bg-darkest);
    color: var(--text-light);
    transition: all 0.3s ease;
}

body.light-theme header.fixed-top {
    background-color: var(--bg-dark-hard) !important;
    border-bottom: 1px solid #CCC;
}

body.light-theme .nav-link {
    color: var(--text-light) !important;
    border-bottom: 2px solid transparent;
}

body.light-theme .nav-link:hover {
    color: var(--secondary-color) !important;
    border-bottom: 2px solid var(--secondary-color);
}

body.light-theme .btn-outline-primary {
    color: var(--secondary-color);
    border-color: var(--secondary-color);
}

body.light-theme .btn-outline-primary:hover {
    background-color: var(--secondary-color);
    color: var(--bg-darkest);
    border-color: var(--secondary-color);
}

body.light-theme #home {
    background-color: var(--bg-darker);
    color: var(--text-light);
}

body.light-theme #home .badge.bg-primary {
    color: var(--bg-light) !important; /* preto ou escolha outra cor */
}

body.light-theme #home {
    background-color:  var(--bg-dark-hard); /* Bege claro */
}

body.light-theme #skills {
    background-color: #EEE9E9; /* Roxo claro */
}

body.light-theme #experience {
    background-color:  var(--bg-dark-hard); /* Tom diferente */
}

body.light-theme #certifications {
    background-color: #EEE9E9; /* Roxo claro */
}

body.light-theme #projects {
    background-color:  var(--bg-dark-hard); /* Bege claro */
}

body.light-theme #projects .card-title {
    color: var(--text-dark)!important;
}

body.light-theme #projects .badge.bg-secondary {
    background-color: #d6d6e7 !important; /* tom claro discreto */
    color: #555 !important;               /* texto mais escuro */
    border: 1px solid #cfcfe6;
}

body.light-theme #contact {
    background-color: #EEE9E9; /* Outro tom claro */
}

body.light-theme #contact {
    background-color: #EEE9E9;;
    color: var(--text-light);
}

body.light-theme .profile-photo {
    border: 5px solid var(--accent-color);
    box-shadow: 0 0 10px rgba(126, 87, 194, 0.3);
}

body.light-theme a {
    color: var(--primary-color);
}

body.light-theme a:hover {
    color: var(--secondary-color);
}

body.light-theme .card {
    background-color: var(--bg-light);
    border: 1px solid var(--accent-color);
}

body.light-theme .card:hover {
    box-shadow: 0 0 10px var(--secondary-color);
}

/* Timeline */
body.light-theme .timeline::before {
    background-color: var(--accent-color);
}

body.light-theme .timeline-dot {
    background-color: var(--secondary-color);
    border-color: var(--bg-darkest);
}

body.light-theme .timeline-card h3 {
    color: var(--secondary-color);
}

body.light-theme .timeline-card p.text-muted {
    color: var(--accent-color) !important;
}

body.light-theme .timeline-card p:not(.text-muted) {
    color: var(--text-light) !important;
}

/* Formulário */
body.light-theme .input-custom {
    background-color: var(--bg-light);
    border-color: var(--accent-color);
    color: var(--text-light);
}

body.light-theme .input-custom:focus {
    background-color: var(--bg-dark);
    border-color: var(--secondary-color);
    color: var(--text-light);
}

/* Ícones e contato */
body.light-theme #contact i {
    color: var(--secondary-color);
    background-color: var(--bg-light);
}

body.light-theme .icon-wrapper {
    background-color: var(--bg-light);
    color: var(--secondary-color);
}

body.light-theme .contact-card-custom {
    background-color: var(--bg-light);
    border-color: var(--accent-color);
}

body.light-theme .contact-item,
body.light-theme .contact-link {
    color: var(--text-light);
}

body.light-theme #contact .form-label {
    color: var(--text-light) !important;
}

body.light-theme .contact-link:hover {
    color: var(--secondary-color);
}

/* Footer */
body.light-theme footer {
    background-color: var(--bg-darkest);
    color: var(--text-light);
    border-top: 1px solid var(--accent-color);
}

/* Base */
html, body {
    max-width: 100vw;
    overflow-x: hidden;
    background-color: var(--bg-darkest);
    color: var(--text-light);
    transition: all 0.3s ease;
}

body.dark-theme {
    background-color: var(--bg-darkest);
    color: var(--text-dark);
}

/* Containers */
.container {
    max-width: 1140px;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* NAVBAR */
header.fixed-top {
    background-color: var(--bg-darker) !important;
    border-bottom: 1px solid #333;
}

.nav-link {
    color: var(--text-light) !important;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
}

.nav-link:hover {
    color: var(--secondary-color) !important;
    border-bottom: 2px solid var(--secondary-color);
}

/* BOTÕES */
.btn-outline-primary {
    color: var(--secondary-color);
    border: 2px solid var(--secondary-color);
    transition: all 0.3s ease;
}

.btn-outline-primary:hover {
    background-color: var(--secondary-color);
    color: var(--bg-darkest);
    border-color: var(--secondary-color);
}

/* SEÇÃO HOME */
#home {
    padding-top: 100px;
    background-color: var(--bg-darker);
    color: var(--text-light);
}

#home .container {
    max-width: 1140px;
    padding-left: 1rem;
    padding-right: 1rem;
}

#home .row {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.profile-photo {
    border: 5px solid var(--accent-color);
    box-shadow: 0 0 10px rgba(162, 89, 255, 0.3);
    margin-top: 20px;
}

/* SEÇÃO SKILLS */
#skills {
    background-color: var(--bg-dark);
    color: var(--text-light);
}

/* SEÇÃO EXPERIENCE */
#experience {
    background-color: var(--bg-darker);
    color: var(--text-light);
}

/* SEÇÃO CERTIFICATIONS */
#certifications {
    background-color: var(--bg-dark);
    color: var(--text-light);
}

/* SEÇÃO PROJECTS */
#projects {
    background-color: var(--bg-darker);
    color: var(--text-light);
}

#projects .card-img-top {
    height: 180px;
    object-fit: cover;
    border-top-left-radius: 2rem;
    border-top-right-radius: 2rem;
}

#projects .card {
    border: 2px solid var(--accent-color) !important;
    box-shadow: var(--accent-color);
}

/* SEÇÃO CONTACT */
#contact {
    background-color: var(--bg-dark-hard);
    color: var(--text-light);
}

#contact i {
    color: var(--secondary-color);
    background-color: var(--bg-light);
    padding: 0.6rem;
    border-radius: 50%;
}

#contact .row.mt-4 {
    margin-top: 0 !important;
}

#contact .container > p.text-center.text-muted {
    margin-bottom: 0.5rem !important;
}

#contact .row.mt-4 p.text-center {
    margin-bottom: 0 !important;
}

/* GERAL LINKS */
a {
    color: var(--primary-color);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--secondary-color);
}

/* CARDS */
.card {
    background-color: var(--bg-light);
    border: 1px solid var(--accent-color);
    transition: all 0.3s ease;
}

.card:hover {
    box-shadow: 0 0 10px var(--secondary-color);
    transform: translateY(-4px);
}

.card-body {
    padding: 1rem;
}

.rounded-top {
    border-top-left-radius: 1rem !important;
    border-top-right-radius: 1rem !important;
}

/* BADGES */
.badge {
    background-color: var(--bg-dark);
    color: var(--text-light);
    font-size: 0.8rem;
    padding: 0.4em 0.7em;
}

.badge.bg-primary {
    background-color: var(--primary-color) !important;
}

/* TIMELINE */
.timeline {
    position: relative;
    padding: 0.5rem 0;
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
}

.timeline::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 4px;
    background-color: var(--accent-color);
    transform: translateX(-50%);
    z-index: 1;
}

.timeline-container {
    position: relative;
    width: 50%;
    padding: 1.2rem 1rem;
    box-sizing: border-box;
}

.timeline-container.left {
    left: 0;
    text-align: right;
}

.timeline-container.left .timeline-dot {
    left: 100%;
}

.timeline-container.right {
    left: 50%;
    text-align: left;
}

.timeline-container.right .timeline-dot {
    left: 0%;
}

.timeline-container .timeline-card {
    background-color: var(--bg-dark);
    border: 1px solid var(--accent-color);
    padding: 1rem;
    border-radius: 1rem;
    position: relative;
    z-index: 2;
    color: var(--text-light);
}

.timeline-card h3 {
    color: var(--secondary-color);
}

.timeline-card p.text-muted {
    color: var(--accent-color) !important;
}

.timeline-card p:not(.text-muted) {
    color: var(--text-light) !important;
}

.timeline-dot {
    width: 16px;
    height: 16px;
    background-color: var(--secondary-color);
    border-radius: 50%;
    position: absolute;
    top: 0.5rem;
    left: 100%;
    transform: translateX(-50%);
    z-index: 3;
    border: 3px solid var(--bg-darkest);
}


/* FORMULÁRIO */
.input-custom {
    background-color: var(--bg-lighter);
    border: 1px solid var(--accent-color);
    color: var(--text-gray); /* ← cor do texto digitado */
    border-radius: 0.5rem;
    padding: 0.75rem;
}

.input-custom::placeholder {
    color: var(--text-gray); /* ou #bbbbbb para mais claro */
    opacity: 1;     /* garante visibilidade */
}

.input-custom:focus {
    outline: none;
    border-color: var(--secondary-color);
    box-shadow: 0 0 5px var(--secondary-color);
    background-color: var(--bg-dark);
    color: var(--text-light);
}

/* LABEL */
.form-label {
    font-weight: 500;
}

/* GERAL */
section {
    scroll-margin-top: 30px;
}

.text-muted {
    color: var(--text-light) !important;
}

/* ÍCONES E CONTATO */
.icon-wrapper {
    width: 60px;
    height: 60px;
    background-color: var(--bg-light);
    color: var(--secondary-color);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}

.contact-card-custom {
    max-width: 900px;
    background-color: var(--bg-light);
    border: 1px solid var(--accent-color);
    border-radius: 1rem;
    margin-top: 1.5rem;
}

.contact-item {
    color: var(--text-light);
}

.contact-link {
    color: var(--text-light);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

.contact-link:hover {
    color: var(--secondary-color);
}

/* FOOTER */
footer {
    background-color: var(--bg-darkest);
    color: var(--text-light);
    border-top: 1px solid var(--accent-color);
}

/* ANIMAÇÃO */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}