﻿/*!
Theme Name: Felipe Santos Barbosa - Fullstack Developer
Description: Tema personalizado para o portfólio do desenvolvedor fullstack Felipe Santos Barbosa
Author: Felipe Santos Barbosa
Version: 1.0
*/*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Inter","Segoe UI",Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#334155;background-color:#f1f5f9;overflow-x:hidden}:root{--primary-color: #1e40af;--secondary-color: #1e3a8a;--accent-color: #3b82f6;--dark-color: #0f172a;--light-color: #f8fafc;--gray-color: #64748b;--gray-light: #cbd5e1;--gray-dark: #334155;--success-color: #059669;--warning-color: #d97706;--danger-color: #dc2626;--gradient-primary: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);--gradient-secondary: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);--gradient-dark: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)}.header{position:fixed;top:0;left:0;right:0;background:rgba(15,23,42,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(51,65,85,.8);z-index:1000;transition:all .3s ease}.header.scrolled{background:rgba(15,23,42,.98);box-shadow:var(--shadow-md)}.header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo h1{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.logo p{font-size:.875rem;color:var(--gray-light);margin:0}nav ul{display:flex;list-style:none;gap:2rem}nav a{text-decoration:none;color:#fff;font-weight:500;transition:color .3s ease;position:relative}nav a:hover{color:var(--accent-color)}nav a::after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent-color);transition:width .3s ease}nav a:hover::after{width:100%}.menu-toggle{display:none;flex-direction:column;cursor:pointer;background:none;border:none;padding:.5rem}.menu-toggle span{width:25px;height:3px;background:#fff;margin:3px 0;transition:.3s}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-dark);position:relative;overflow:hidden}.hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.3}.hero-content{text-align:center;color:#fff;z-index:1;position:relative}.hero-content h2{font-size:3.5rem;font-weight:700;margin-bottom:1rem;animation:fadeInUp 1s ease-out}.hero-content p{font-size:1.25rem;margin-bottom:2rem;opacity:.9;animation:fadeInUp 1s ease-out .2s both}.btn-primary{display:inline-block;padding:1rem 2rem;background:var(--gradient-primary);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;transition:all .3s ease;box-shadow:var(--shadow-md);animation:fadeInUp 1s ease-out .4s both}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--gradient-secondary)}.section{padding:5rem 0;max-width:1200px;margin:0 auto;padding-left:2rem;padding-right:2rem}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:3rem;color:var(--dark-color);position:relative}.section-title::after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:80px;height:4px;background:var(--gradient-primary);border-radius:2px}.about{background:#fff}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text h3{font-size:2rem;margin-bottom:1rem;color:var(--dark-color)}.about-text p{font-size:1.1rem;line-height:1.8;color:var(--gray-dark);margin-bottom:1.5rem}.about-image{text-align:center}.about-image img{max-width:100%;height:auto;border-radius:20px;box-shadow:var(--shadow-lg)}.skills{background:var(--light-color)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:2rem}.skill-category{background:#fff;padding:2rem;border-radius:15px;box-shadow:var(--shadow-sm);transition:all .3s ease}.skill-category:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.skill-category h4{font-size:1.5rem;margin-bottom:1rem;color:var(--dark-color);display:flex;align-items:center;gap:.5rem}.skill-category h4 i{color:var(--primary-color)}.skills-list{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{background:var(--gradient-primary);color:#fff;padding:.5rem 1rem;border-radius:25px;font-size:.875rem;font-weight:500;transition:all .3s ease}.skill-tag:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.projects{background:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:2rem}.project-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease;border:1px solid var(--gray-light)}.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.project-image{width:100%;height:200px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:3rem}.project-content{padding:1.5rem}.project-content h4{font-size:1.25rem;margin-bottom:.5rem;color:var(--dark-color)}.project-content p{color:var(--gray-dark);margin-bottom:1rem;line-height:1.6}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{background:var(--light-color);color:var(--dark-color);padding:.25rem .75rem;border-radius:15px;font-size:.75rem;font-weight:500}.project-links{display:flex;gap:1rem}.project-links a{flex:1;text-align:center;padding:.75rem;text-decoration:none;border-radius:8px;font-weight:500;transition:all .3s ease}.project-links a.btn-demo{background:var(--gradient-primary);color:#fff}.project-links a.btn-code{background:var(--light-color);color:var(--dark-color);border:1px solid var(--gray-light)}.project-links a:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact{background:var(--light-color)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-info h4{font-size:1.5rem;margin-bottom:1rem;color:var(--dark-color)}.contact-info p{margin-bottom:1rem;color:var(--gray-dark);display:flex;align-items:center;gap:.5rem}.contact-info p i{color:var(--primary-color);width:20px}.contact-form{background:#fff;padding:2rem;border-radius:15px;box-shadow:var(--shadow-sm)}.contact-form form{display:flex;flex-direction:column;gap:1rem}.contact-form input,.contact-form textarea{padding:1rem;border:1px solid var(--gray-light);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--primary-color)}.contact-form textarea{resize:vertical;min-height:120px}.footer{background:var(--dark-color);color:#fff;padding:2rem 0;text-align:center}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.footer-info p{margin:0;opacity:.8}.footer-social{display:flex;gap:1rem}.footer-social a{color:#fff;font-size:1.5rem;transition:color .3s ease}.footer-social a:hover{color:var(--accent-color)}.whatsapp-float{position:fixed;bottom:2rem;right:2rem;z-index:1000}.whatsapp-float a{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#25d366;color:#fff;border-radius:50%;text-decoration:none;font-size:1.5rem;box-shadow:var(--shadow-lg);transition:all .3s ease;animation:pulse 2s infinite}.whatsapp-float a:hover{transform:scale(1.1);box-shadow:var(--shadow-xl)}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.7)}70%{box-shadow:0 0 0 10px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}@media(max-width: 768px){.header-content{padding:1rem}nav ul{display:none}.menu-toggle{display:flex}.hero h2{font-size:2.5rem}.hero p{font-size:1rem}.section{padding:3rem 1rem}.section-title{font-size:2rem}.about-content{grid-template-columns:1fr;gap:2rem}.contact-content{grid-template-columns:1fr;gap:2rem}.footer-content{flex-direction:column;gap:1rem}.projects-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:1fr}}@media(max-width: 480px){.hero h2{font-size:2rem}.section-title{font-size:1.75rem}.about-text h3{font-size:1.5rem}}.contact-success,.contact-error{padding:1rem;border-radius:8px;margin-top:1rem;font-weight:500}.contact-success{background:var(--success-color);color:#fff;border:1px solid var(--success-color)}.contact-error{background:var(--danger-color);color:#fff;border:1px solid var(--danger-color)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(30,64,175,.1)}.contact-form button{background:var(--gradient-primary);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.contact-form button:hover{background:var(--gradient-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact-info a{color:var(--primary-color);text-decoration:none;transition:color .3s ease}.contact-info a:hover{color:var(--secondary-color)}/*# sourceMappingURL=style.css.map */
