1111 --max-width-site : 1200px ;
1212}
1313
14- /* --- RESET BÁSICO E PROTEÇÃO DE ZOOM --- */
14+ /* --- RESET & PROTEÇÃO --- */
1515* { margin : 0 ; padding : 0 ; box-sizing : border-box; text-decoration : none; }
1616html { scroll-behavior : smooth; }
1717
1818body {
1919 font-family : var (--fonte-corpo );
2020 color : var (--cor-texto );
2121 background : linear-gradient (68deg , var (--cor-fundo-inicio ), var (--cor-fundo-fim ));
22- overflow-x : hidden; /* CRÍTICO: Impede rolagem lateral e zoom errado no iPhone */
22+ overflow-x : hidden; /* Impede zoom errado no iPhone */
2323 width : 100% ;
24- -webkit-text-size-adjust : 100% ; /* Impede iOS de aumentar fonte sozinho */
24+ -webkit-text-size-adjust : 100% ;
2525}
2626
27- /* --- CONTAINER GLOBAL --- */
27+ /* --- CONTAINER --- */
2828.container {
2929 max-width : var (--max-width-site );
3030 margin : 0 auto;
@@ -35,32 +35,19 @@ body {
3535/* --- CABEÇALHO --- */
3636.cabecalho {
3737 background-color : # 000000 ;
38- position : sticky;
39- top : 0 ;
40- z-index : 1000 ;
41- width : 100% ;
38+ position : sticky; top : 0 ; z-index : 1000 ; width : 100% ;
4239 border-bottom : 1px solid rgba (151 , 241 , 38 , 0.2 );
4340}
44-
4541.cabecalho-container {
46- display : flex;
47- justify-content : space-between;
48- align-items : center;
49- padding : 20px 0 ;
42+ display : flex; justify-content : space-between; align-items : center; padding : 15px 0 ;
5043}
51-
5244.cabecalho-logo {
53- font-family : var (--fonte-titulos );
54- font-size : 26px ;
55- color : # fff ;
56- font-weight : 700 ;
45+ font-family : var (--fonte-titulos ); font-size : 24px ; color : # fff ; font-weight : 700 ;
5746}
5847.cabecalho-logo span { color : var (--cor-destaque ); }
59-
6048.cabecalho-menu { display : flex; gap : 30px ; }
61-
6249.cabecalho-menu-item {
63- color : # fff ; font-weight : 600 ; font-size : 17 px ; transition : 0.3s ; position : relative;
50+ color : # fff ; font-weight : 600 ; font-size : 16 px ; transition : 0.3s ; position : relative;
6451}
6552.cabecalho-menu-item : hover { color : var (--cor-destaque ); text-shadow : 0 0 10px rgba (151 , 241 , 38 , 0.8 ); }
6653.cabecalho-menu-item ::after {
@@ -69,107 +56,58 @@ body {
6956}
7057.cabecalho-menu-item : hover ::after { width : 100% ; }
7158
72- /* --- HERO SECTION (BALANCEADO PARA PC ) --- */
59+ /* --- HERO SECTION (CORRIGIDA ) --- */
7360.conteudo-principal {
74- display : flex;
75- align-items : center;
76- justify-content : space-between;
77- padding : 80px 0 ;
78- gap : 40px ; /* Espaço seguro entre texto e imagem */
79- width : 100% ;
80- }
81-
82- /* Lado Esquerdo: Texto + Cobrinha (Ocupa o espaço restante) */
83- .conteudo-principal-escrito {
84- flex : 1 ; /* Cresce para ocupar o espaço disponível */
85- min-width : 0 ; /* Impede que a cobrinha empurre o layout */
86- }
87-
88- .conteudo-principal-titulo span {
89- font-family : var (--fonte-titulos );
90- font-size : clamp (2.5rem , 4vw , 4.2rem );
91- color : var (--cor-destaque );
92- display : block;
93- line-height : 1.1 ;
94- }
95-
96- .conteudo-principal-subtitulo {
97- font-size : clamp (1rem , 1.2vw , 1.2rem );
98- margin : 20px 0 ;
99- line-height : 1.6 ;
100- }
101-
102- /* Cobrinha */
103- .snake-container {
104- margin-top : 20px ;
105- width : 100% ;
106- max-width : 600px ;
107- }
61+ display : flex; align-items : center; justify-content : space-between;
62+ padding : 80px 0 ; gap : 50px ; width : 100% ;
63+ }
64+ .conteudo-principal-escrito { flex : 1 ; min-width : 0 ; }
65+ .conteudo-principal-titulo { font-family : var (--fonte-titulos ); font-size : 3rem ; color : # fff ; line-height : 1.1 ; }
66+ .conteudo-principal-titulo span { font-size : clamp (3rem , 5vw , 4.5rem ); color : var (--cor-destaque ); display : block; }
67+ .conteudo-principal-subtitulo { font-size : clamp (1rem , 1.2vw , 1.2rem ); margin : 20px 0 ; line-height : 1.6 ; color : # ddd ; }
68+ .snake-container { margin-top : 25px ; width : 100% ; max-width : 600px ; }
10869.snake-container img { width : 100% ; height : auto; display : block; }
10970
110- /* Lado Direito: Foto (FIXADA EM UM TAMANHO MÉDIO NO PC) */
11171.conteudo-principal-imagem {
112- /* Define uma largura fixa ideal para PC, nem gigante nem minúscula */
113- flex : 0 0 350px ;
114- width : 350px ;
115- display : flex;
116- justify-content : center;
72+ flex : 0 0 350px ; /* TRAVADO EM 350px NO PC */
73+ width : 350px ; display : flex; justify-content : center; align-items : center;
11774}
118-
11975.conteudo-principal-imagem img {
120- width : 100% ;
121- height : auto;
122- border-radius : 30px ;
123- border : 2px solid var (--cor-destaque );
124- box-shadow : 0 0 20px rgba (151 , 241 , 38 , 0.2 );
125- animation : floatAnimation 6s ease-in-out infinite;
126- object-fit : cover;
76+ width : 100% ; height : auto; border-radius : 30px ;
77+ border : 2px solid var (--cor-destaque ); box-shadow : 0 0 25px rgba (151 , 241 , 38 , 0.15 );
78+ animation : floatAnimation 6s ease-in-out infinite; object-fit : cover;
12779}
12880
129- /* --- SEÇÕES SECUNDÁRIAS --- */
81+ /* --- SEÇÕES GERAIS --- */
13082.conteudo-secundario { padding : 60px 0 ; border-top : 1px solid rgba (151 , 241 , 38 , 0.1 ); }
131-
13283.conteudo-secundario-titulo {
13384 font-family : var (--fonte-titulos ); font-size : 2.5rem ;
13485 color : var (--cor-destaque ); text-align : center; margin-bottom : 40px ;
13586}
87+ .sobre-texto { column-count : 2 ; column-gap : 60px ; line-height : 1.8 ; text-align : justify; font-size : 1.05rem ; }
13688
137- .sobre-texto { column-count : 2 ; column-gap : 50px ; line-height : 1.7 ; text-align : justify; }
138-
139- /* --- CARDS DE PROJETOS (ALTURA IGUAL) --- */
140- .meu-swiper {
141- padding : 30px 10px 60px 10px ; overflow : visible !important ;
142- }
89+ /* --- CARDS PROJETOS --- */
90+ .meu-swiper { padding : 20px 10px 60px 10px ; overflow : visible !important ; }
14391.swiper-slide { height : auto; display : flex; }
144-
14592.projeto-card {
146- background : var (--cor-card );
147- padding : 25px ;
148- border-radius : 15px ;
149- border : 1px solid rgba (151 , 241 , 38 , 0.1 );
150- width : 100% ;
93+ background : var (--cor-card ); padding : 25px ; border-radius : 15px ;
94+ border : 1px solid rgba (151 , 241 , 38 , 0.1 ); width : 100% ;
15195 display : flex; flex-direction : column; justify-content : space-between;
15296 transition : 0.4s ; text-align : center;
15397}
154- .projeto-card : hover {
155- transform : scale (1.03 ); border-color : var (--cor-destaque );
156- box-shadow : 0 0 30px rgba (151 , 241 , 38 , 0.2 ); z-index : 10 ;
157- }
98+ .projeto-card : hover { transform : translateY (-5px ); border-color : var (--cor-destaque ); box-shadow : 0 5px 20px rgba (151 , 241 , 38 , 0.2 ); z-index : 10 ; }
15899.projeto-imagem-wrapper { height : 180px ; overflow : hidden; border-radius : 10px ; margin-bottom : 15px ; flex-shrink : 0 ; }
159100.projeto-imagem-wrapper img { width : 100% ; height : 100% ; object-fit : cover; }
160- .projeto-card h4 { margin-bottom : 10px ; color : # fff ; }
161- .projeto-card p { flex-grow : 1 ; margin-bottom : 20px ; font-size : 0.95rem ; }
162-
101+ .projeto-card h4 { margin-bottom : 10px ; color : # fff ; font-size : 1.2rem ; }
102+ .projeto-card p { flex-grow : 1 ; margin-bottom : 20px ; font-size : 0.95rem ; color : # ccc ; }
163103.github-btn {
164104 display : block; padding : 12px ; background : var (--cor-destaque );
165- color : # 000 ; font-weight : bold; border-radius : 6px ; width : 100% ; margin-top : auto;
105+ color : # 000 ; font-weight : bold; border-radius : 6px ; width : 100% ; margin-top : auto; transition : 0.3 s ;
166106}
107+ .github-btn : hover { background : # fff ; box-shadow : 0 0 15px # fff ; }
167108
168109/* --- HABILIDADES --- */
169- .habilidades-lista {
170- display : grid; grid-template-columns : repeat (auto-fit, minmax (140px , 1fr ));
171- gap : 20px ; list-style : none;
172- }
110+ .habilidades-lista { display : grid; grid-template-columns : repeat (auto-fit, minmax (130px , 1fr )); gap : 20px ; list-style : none; }
173111.habilidades-lista li {
174112 background : var (--cor-card ); padding : 20px ; border-radius : 12px ;
175113 display : flex; flex-direction : column; align-items : center; gap : 10px ;
@@ -178,21 +116,28 @@ body {
178116.habilidades-lista li : hover { border-color : var (--cor-destaque-secundario ); transform : translateY (-5px ); }
179117.habilidades-lista li i { font-size : 2.5rem ; color : var (--cor-destaque-secundario ); }
180118
181- /* --- RODAPÉ --- */
119+ /* --- RODAPÉ (RESTAURADO E COMPACTO) --- */
182120.rodape {
183- background-color : # 000000 ; padding : 30px 0 ; border-top : 2px solid var (--cor-destaque );
121+ background-color : # 000000 ;
122+ padding : 30px 0 ; /* Padding menor */
123+ border-top : 2px solid var (--cor-destaque );
124+ width : 100% ;
125+ }
126+ .rodape-container {
127+ display : flex; justify-content : space-between; align-items : center; gap : 30px ;
184128}
185- .rodape-container { display : flex; justify-content : space-between; align-items : center; gap : 30px ; }
186129.rodape-info h2 { font-family : var (--fonte-titulos ); color : # fff ; font-size : 1.5rem ; margin-bottom : 10px ; }
130+
131+ /* Badges de Contato (Compactos) */
187132.rodape-contato-badges { display : flex; gap : 10px ; flex-wrap : wrap; }
188133.badge-contato {
189134 display : flex; align-items : center; gap : 8px ; background : # 111 ;
190135 padding : 8px 14px ; border-radius : 30px ; color : # fff ;
191136 border : 1px solid rgba (255 , 255 , 255 , 0.1 ); font-size : 13px ; transition : 0.3s ;
192137}
193- .badge-contato : hover { border-color : var (--cor-destaque ); background : rgba (151 , 241 , 38 , 0.1 ); }
138+ .badge-contato : hover { border-color : var (--cor-destaque ); background : rgba (151 , 241 , 38 , 0.1 ); color : var ( --cor-destaque ); }
194139
195- /* Portal Gun Card */
140+ /* Portal Gun Card (Rick & Morty) */
196141.portal-gun-card {
197142 position : relative; width : 240px ; height : 120px ;
198143 background : # 111 ; border : 2px solid # 333 ; border-radius : 12px ;
@@ -205,45 +150,39 @@ body {
205150.clique-texto { font-size : 0.7rem ; color : # fff ; font-weight : bold; opacity : 0 ; transition : 0.4s ; }
206151.fluido-container { position : absolute; bottom : 0 ; width : 100% ; height : 0% ; background : linear-gradient (transparent, rgba (151 , 241 , 38 , 0.4 )); transition : 0.5s ; }
207152.bolha { position : absolute; background : var (--cor-destaque ); border-radius : 50% ; bottom : -10px ; opacity : 0 ; filter : blur (4px ); }
208- .portal-gun-card : hover { transform : scale (1.05 ); border-color : var (--cor-destaque ); .clique-texto { opacity : 1 ; } .fluido-container { height : 100% ; } .bolha { animation : bubbleRise 2s infinite ease-out; } }
153+ .portal-gun-card : hover { transform : scale (1.05 ); border-color : var (--cor-destaque ); }
154+ .portal-gun-card : hover .clique-texto { opacity : 1 ; }
155+ .portal-gun-card : hover .fluido-container { height : 100% ; }
156+ .portal-gun-card : hover .bolha { animation : bubbleRise 2s infinite ease-out; }
157+
209158.rodape-copyright { text-align : center; margin-top : 20px ; font-size : 12px ; opacity : 0.5 ; color : # fff ; }
210159
211- /* --- ANIMAÇÕES --- */
160+ /* --- ANIMAÇÕES E EXTRAS --- */
212161@keyframes bubbleRise { 0% { transform : translateY (0 ); opacity : 0.6 ; } 100% { transform : translateY (-130px ); opacity : 0 ; } }
213162@keyframes floatAnimation { 0% , 100% { transform : translateY (0 ); } 50% { transform : translateY (-20px ); } }
214163.whatsapp-flutuante {
215164 position : fixed; bottom : 20px ; right : 20px ; background : # 25d366 ;
216165 width : 55px ; height : 55px ; border-radius : 50% ; display : flex; align-items : center; justify-content : center;
217- font-size : 30px ; color : white; z-index : 2000 ; box-shadow : 0 4px 10px rgba (0 , 0 , 0 , 0.3 );
166+ font-size : 30px ; color : white; z-index : 2000 ; box-shadow : 0 4px 10px rgba (0 , 0 , 0 , 0.3 ); transition : 0.3 s ;
218167}
168+ .whatsapp-flutuante : hover { transform : scale (1.1 ); }
219169
220- /* --- RESPONSIVIDADE (CELULARES E TABLETS) --- */
170+ /* --- RESPONSIVIDADE --- */
221171@media (max-width : 992px ) {
222- /* Layout Coluna (Um embaixo do outro) */
223- .conteudo-principal {
224- flex-direction : column-reverse; /* Foto em cima, Texto embaixo */
225- text-align : center;
226- padding : 50px 0 ;
227- gap : 30px ;
228- }
229-
230- /* Remove limites do PC */
172+ .conteudo-principal { flex-direction : column-reverse; text-align : center; padding : 40px 0 ; gap : 30px ; }
173+ .conteudo-principal-imagem { flex : 0 0 auto; width : 100% ; max-width : 280px ; }
231174 .conteudo-principal-escrito { width : 100% ; }
232-
233- .conteudo-principal-imagem {
234- flex : 0 0 auto; /* Remove a trava de 350px do PC */
235- width : 100% ; /* Ocupa a largura disponivel */
236- max-width : 280px ; /* Mas limita para não ficar gigante no celular */
237- }
238-
239175 .snake-container { display : flex; justify-content : center; }
240- .sobre-texto { column-count : 1 ; }
176+ .conteudo-principal-titulo { font-size : 2rem ; }
177+ .sobre-texto { column-count : 1 ; text-align : left; }
241178}
242179
243180@media (max-width : 768px ) {
244181 .cabecalho-container { flex-direction : column; gap : 15px ; }
245- .cabecalho-menu { flex-wrap : wrap; justify-content : center; gap : 20px ; }
182+ .cabecalho-menu { flex-wrap : wrap; justify-content : center; gap : 15px ; }
183+
184+ /* Footer no Celular */
246185 .rodape-container { flex-direction : column; text-align : center; gap : 25px ; }
247186 .rodape-contato-badges { justify-content : center; }
248- .portal-gun-card { width : 100% ; max-width : 250 px ; }
187+ .portal-gun-card { width : 100% ; max-width : 260 px ; } /* Evita quebra */
249188}
0 commit comments