@import url('https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
  scrollbar-color: red black;
}

body {
    background-color: black;
    color: white;
    overflow-x: hidden;
    max-width: 100%;
}


::selection {
  background: red;
  color: white;
}

.instagramImg {
    width: 30px;
    border-radius: 10px;
}

.instagramImg:hover {
    filter: brightness(1.6);
    box-shadow: rgba(161, 8, 8, 0.419) 0px -23px 25px 0px inset, rgba(135, 8, 8, 0.423) 0px -36px 30px 0px inset, rgba(135, 7, 7, 0.495) 0px -79px 40px 0px inset, rgba(144, 11, 11, 0.504) 0px 2px 1px, rgba(134, 8, 8, 0.476) 0px 4px 2px, rgba(145, 9, 9, 0.49) 0px 8px 4px, rgba(145, 8, 8, 0.4) 0px 16px 8px, rgba(140, 10, 10, 0.461) 0px 32px 16px;
}

.linkedinImg {
    width: 30px;
    border-radius: 10px;
}

.linkedinImg:hover {
    filter: brightness(1.6);
    box-shadow: rgba(161, 8, 8, 0.419) 0px -23px 25px 0px inset, rgba(135, 8, 8, 0.423) 0px -36px 30px 0px inset, rgba(135, 7, 7, 0.495) 0px -79px 40px 0px inset, rgba(144, 11, 11, 0.504) 0px 2px 1px, rgba(134, 8, 8, 0.476) 0px 4px 2px, rgba(145, 9, 9, 0.49) 0px 8px 4px, rgba(145, 8, 8, 0.4) 0px 16px 8px, rgba(140, 10, 10, 0.461) 0px 32px 16px;
}

.githubImg {
    width: 30px;
    border-radius: 10px;
}

.githubImg:hover {
    filter: brightness(1.6);
    box-shadow: rgba(161, 8, 8, 0.419) 0px -23px 25px 0px inset, rgba(135, 8, 8, 0) 0px -36px 30px 0px inset, rgba(135, 7, 7, 0) 0px -79px 40px 0px inset, rgba(144, 11, 11, 0) 0px 2px 1px, rgba(134, 8, 8, 0) 0px 4px 2px, rgba(145, 9, 9, 0.49) 0px 8px 4px, rgba(145, 8, 8, 0.4) 0px 16px 8px, rgba(140, 10, 10, 0.461) 0px 32px 16px;
}

.menu {
    padding-top: 1.5rem;
    padding-left: 1rem;
    justify-content: center;
    align-items: center;
    width: 100%;
    position: sticky;
    top: 0;
    width: 100%;
    margin: auto;
    background: black;
    z-index: 1000;
    margin-bottom: 9rem;
    margin-left: 2rem;
}

.selecaoMenu {
    background-color: rgba(20, 19, 19, 0.838);
    backdrop-filter: blur(10px);
    padding: 0.5rem 1.5rem;
    border-radius: 20px;
    margin-left: 60px;
    border: solid rgba(102, 24, 24, 0.409) 0.4px;
    box-shadow: rgba(122, 8, 8, 0.399) 0px 10px 55px, rgba(100, 7, 7, 0.304) 0px -12px 30px, rgba(128, 12, 12, 0.423) 0px 4px 6px, rgba(135, 7, 7, 0.556) 0px 12px 13px, rgba(132, 11, 11, 0.548) 0px -3px 5px;
}

nav {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding-bottom: 1rem;
}

.linkHome {
  text-decoration: none;
  color: white;
  font-size: 25px;
  font-weight: 600;
}

.linkHome::first-letter {
  color: red;
}

.itensMenu {
    display: flex;
    flex-direction: row;
    gap: 3rem;
    text-decoration: none;
    outline: none;
    justify-content: center;
    list-style: none;
}

.navegacao {
    text-decoration: none;
    color: white;
    font-family: Oswald;
    font-size: 14px;
    font-weight: 500;
}

.navegacao:hover {
    transform: scale(1.05);
    color: red;
    text-decoration: underline;
    text-shadow: 
    0 0 5px red,
    0 0 10px red,
    0 0 20px red;
}

.home:hover::before{
  width: 13%;
}


.home::before{
  content: "";
  position: absolute;
  top: 0;
  left: 1;
  transform: translateX(-10px);
  width: 0%;
  height: 2px;
  background: red;
  transition: 0.3s;
}


.sobre:hover::before{
  width: 15%;
}

.sobre::before{
  content: "";
  position: absolute;
  top: 0;
  left: 1;
  transform: translateX(-9px);
  width: 0%;
  height: 2px;
  background: red;
  transition: 0.3s;
}

.projetos::before{
  content: "";
  position: absolute;
  top: 0;
  left: 1;
  transform: translateX(-3px);
  width: 0%;
  height: 2px;
  background: red;
  transition: 0.3s;
}

.projetos:hover::before{
  width: 15%;
}

.contato:hover::before{
  width: 15%;
}

.contato::before{
  content: "";
  position: absolute;
  transform: translateX(-5px);
  top: 0;
  left: 1;
  width: 0%;
  height: 2px;
  background: red;
  transition: 0.3s;
}

.home:hover::before{
  width: 15%;
}

.nomeNav::first-letter {
    color: red;
}

.nomeNav {
    font-size: 25px;
    font-weight: 600;
}

a img:hover {
    transform: scale(1.2);
}

.icones {
    display: flex;
    flex-direction: row;
    gap: 2rem;
    margin-right: -2rem;
}

section {
    min-height: 100vh;
    width: 100%;
}

.animar {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s ease;
}

.animar.aparecer {
    opacity: 1;
    transform: translateY(0);
}

.navegacao.ativo{
  transform: scale(1.05);
  color: red;
  text-shadow: 
  0 0 5px red,
  0 0 10px red,
  0 0 20px red;
}

.home.ativo::before{
  width: 15%;
}

.sobre.ativo::before{
  width: 15%;
}

.projetos.ativo::before{
  width: 15%;
}

.contato.ativo::before{
  width: 15%;
}


/* ===================== */
/* MENU HAMBURGUER - FIX */
/* ===================== */

.menu-hamburguer {
    position: fixed;
    top: 20px;
    left: 20px;
    width: 35px;
    height: 25px;
    display: none;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    z-index: 1000000 !important;
    background: rgba(0, 0, 0, 0.9);
    padding: 8px;
    border-radius: 8px;
    border: 3px solid red;  /* JÁ MANTÉM A BORDA GROSSA */
    box-shadow: 0 0 15px rgba(255, 0, 0, 0.7);
    transition: all 0.2s ease;
}

.menu-hamburguer span {
    width: 100%;
    height: 3px;
    background: white !important;
    border-radius: 3px;
    transition: 0.3s;
    display: block;
}

/* Quando o menu está aberto - VISIBILIDADE MÁXIMA */
.menu-hamburguer.ativo {
    background: #00ff00 !important;  /* LIME - igual ao teste */
    border: 4px solid #00ffff !important;  /* CYAN - igual ao teste */
    box-shadow: 
        0 0 0 4px rgba(255, 0, 0, 0.5),
        0 0 0 8px rgba(0, 255, 255, 0.5),
        0 0 40px #00ffff !important;
    transform: scale(1.2) !important;
}

.menu-hamburguer.ativo span {
    background: black !important;  /* barrinhas escuras pra contrastar */
    box-shadow: 0 0 15px #00ffff;
    height: 4px;
}

.menu-hamburguer.ativo span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 6px);
}

.menu-hamburguer.ativo span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -7px);
}

/* ===================== */
/* SIDEBAR (MENU MOBILE) */
/* ===================== */

.menu-mobile {
    position: fixed;
    top: 0;
    left: -300px;
    width: 280px;
    height: 100vh;
    background: black;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 100px 30px 40px 30px;
    transition: 0.3s ease;
    z-index: 999999;
    border-right: 2px solid red;
    box-shadow: 5px 0 30px rgba(255, 0, 0, 0.5);
}

.menu-mobile.ativo {
    left: 0;
}

.menu-mobile a {
    color: white;
    text-decoration: none;
    font-size: 20px;
    font-family: Oswald;
    font-weight: 500;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 0, 0, 0.3);
    transition: 0.3s;
}

.menu-mobile a:hover {
    color: red;
    padding-left: 10px;
    border-bottom-color: red;
}

.menu-mobile .icones-mobile {
    display: flex;
    gap: 25px;
    margin-top: auto;
    justify-content: center;
    padding-top: 30px;
    border-top: 2px solid red;
}

.menu-mobile .icones-mobile img {
    width: 35px;
    transition: 0.3s;
    filter: brightness(1);
}

.menu-mobile .icones-mobile img:hover {
    transform: scale(1.2);
    filter: brightness(1.5);
}

/* Garantir que o botão fique POR CIMA da sidebar */
.menu-hamburguer {
    z-index: 1000000 !important;
}

/* Quando o menu abrir, o botão deve ter prioridade */
.menu-mobile.ativo ~ .menu-hamburguer,
.menu-mobile.ativo + .menu-hamburguer {
    z-index: 1000001 !important;
    position: fixed !important;
}

/* Forçar o botão a ficar VISÍVEL */
.menu-hamburguer.ativo {
    background: red !important;
    border: 4px solid white !important;
    box-shadow: 0 0 30px white !important;
}
