/* --- GOOGLE FONTS --- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Poppins:wght@300;400;600&display=swap');

/* --- VARIÁVEIS DE COR E ESTILOS GLOBAIS --- */
:root {
  --primary-color: #6a11cb;
  --secondary-color: #2575fc;
  --dark-color: #1a1a1a;
  --light-color: #f4f4f4;
  --white-color: #ffffff;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: 'Poppins', sans-serif;
  line-height: 1.6;
  background-color: var(--white-color);
  color: var(--dark-color);
}

html { scroll-behavior: smooth; }

h1, h2, h3 { font-family: 'Montserrat', sans-serif; font-weight: 600; }

section { padding: 80px 5%; text-align: center; }

/* --- HEADER --- */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 5%;
  background-color: var(--white-color);
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.logo { max-width: 80px; }

.nav a {
  font-weight: 600;
  text-decoration: none;
  color: var(--dark-color);
  margin-left: 30px;
  transition: color 0.3s ease;
}

.nav a:hover { color: var(--primary-color); }

/* --- HERO SECTION --- */
.hero {
  background: linear-gradient(to right, rgba(106, 17, 203, 0.8), rgba(37, 117, 252, 0.8)), url('https://images.unsplash.com/photo-1522204523234-8729aa6e3d5f?q=80&w=2070&auto=format&fit=crop') center/cover no-repeat;
  color: var(--white-color);
  padding: 120px 5%;
  text-align: center;
}

.hero h1 { font-size: 3rem; margin-bottom: 20px; }

.hero p { font-size: 1.2rem; max-width: 600px; margin: 0 auto 30px auto; }

/* --- BOTÃO PRINCIPAL --- */
.btn {
  display: inline-block;
  padding: 12px 25px;
  background-color: rgb(244, 133, 23); /* Cor Laranja */
  color: var(--white-color);
  text-decoration: none;
  font-weight: 600;
  border-radius: 5px;
  transition: transform 0.3s ease, background-color 0.3s ease;
}
.btn:hover {
  background-color: rgb(224, 112, 0); /* Laranja mais escuro */
  transform: translateY(-3px);
}

/* --- SEÇÃO DE SERVIÇOS --- */
.services { background-color: var(--light-color); }
.services h2 { font-size: 2.5rem; margin-bottom: 50px; }
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  text-align: left;
}
.card {
  background-color: var(--white-color);
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover { transform: translateY(-10px); box-shadow: 0 8px 25px rgba(0,0,0,0.12); }
.card h3 { font-size: 1.5rem; margin-bottom: 15px; color: var(--primary-color); }

/* --- SEÇÃO DE CONTATO (NA HOME) --- */
.contact { text-align: center; }
.contact h2 { font-size: 2.5rem; margin-bottom: 20px; }

/* --- FOOTER --- */
.footer {
  background-color: var(--dark-color);
  color: var(--white-color);
  text-align: center;
  padding: 20px 5%;
}

/* --- ESTILOS PARA CONTATO E RODAPÉ --- */
.contact-details { margin-top: 40px; font-size: 1.1rem; }
.contact-details p { margin-bottom: 15px; }
.contact-details a { color: var(--dark-color); text-decoration: none; transition: color 0.3s ease; }
.contact-details a:hover { color: var(--primary-color); }
.contact-details i { color: var(--primary-color); margin-right: 10px; width: 20px; }
.social-icons { margin-bottom: 20px; }
.social-icons a { color: var(--white-color); font-size: 1.8rem; margin: 0 10px; transition: transform 0.3s ease; }
.social-icons a:hover { transform: scale(1.2); color: var(--light-color); }

/* --- ESTILOS PARA PÁGINAS INTERNAS (SERVIÇOS) --- */
.page-content {
  padding: 80px 5%;
  max-width: 900px;
  margin: 0 auto; /* Centraliza o conteúdo */
  text-align: center;
}
.page-content h2 {
  font-size: 2.8rem;
  margin-bottom: 15px;
}
.subtitle {
  font-size: 1.2rem;
  color: #555;
  margin-bottom: 60px;
}
.service-detail {
  margin-bottom: 50px;
  text-align: left; /* Alinha o texto dos detalhes à esquerda */
  padding-left: 60px;
  position: relative;
}
.service-detail i {
  font-size: 2rem;
  color: var(--primary-color);
  position: absolute;
  left: 0;
  top: 5px;
}
.service-detail h3 {
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.service-detail p {
  line-height: 1.8;
}

/* --- RESPONSIVIDADE --- */
@media (max-width: 768px) {
  .header { flex-direction: column; }
  .nav { margin-top: 20px; }
  .nav a { margin: 0 10px; }
  .hero h1 { font-size: 2.5rem; }
}
/* --- ESTILOS PARA PÁGINA DE PORTFÓLIO --- */

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 25px;
  margin-top: 50px;
}

.portfolio-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  cursor: pointer;
  aspect-ratio: 4 / 3; /* Proporção da imagem (largura / altura) */
}

.portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Garante que a imagem cubra todo o espaço */
  transition: transform 0.4s ease-in-out;
}

.portfolio-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
  color: var(--white-color);
  transform: translateY(100%);
  transition: transform 0.4s ease-in-out;
}

.portfolio-info h3 {
  font-size: 1.5rem;
  margin: 0;
}

.portfolio-info p {
  font-size: 1rem;
  margin: 5px 0 0 0;
  opacity: 0.8;
}

/* Efeito Hover */
.portfolio-item:hover img {
  transform: scale(1.1);
}

.portfolio-item:hover .portfolio-info {
  transform: translateY(0);
}
/* --- ESTILOS PARA PÁGINA DE CONTATO --- */

.contact-container {
  display: flex;
  gap: 40px;
  margin-top: 60px;
  text-align: left;
}

.contact-info-block, .contact-form {
  flex: 1;
}

.contact-info-block h3, .contact-form h3 {
  font-size: 1.8rem;
  margin-bottom: 20px;
}

.contact-info-block .contact-details {
  font-size: 1.1rem;
  margin-top: 30px;
}
.contact-info-block .contact-details p {
  margin-bottom: 20px;
}
.contact-info-block .contact-details a {
  color: var(--dark-color);
}

/* Estilos do Formulário */
.contact-form label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 20px;
  border-radius: 5px;
  border: 1px solid #ccc;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
}

.contact-form button {
  width: 100%;
  border: none;
  cursor: pointer;
}

/* Responsividade para a página de contato */
@media (max-width: 768px) {
  .contact-container {
    flex-direction: column;
  }
}

/* ======================================================= */
/* ====== NOVO TRECHO ADICIONADO COMEÇA AQUI ====== */
/* ======================================================= */

/* --- ESTILOS PARA A SEÇÃO PORTFÓLIO EM DESTAQUE (HOME) --- */
.portfolio-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.portfolio-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 15px;
}

.btn-portfolio {
    display: inline-block;
    padding: 10px 20px;
    margin-top: 15px;
    background-color: var(--dark-color);
    color: var(--white-color);
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
    transition: background-color 0.3s ease;
}

.btn-portfolio:hover {
    background-color: #555;
}

.portfolio-link {
    text-align: center;
    margin-top: 40px;
}

.portfolio-link a {
    font-weight: bold;
    color: var(--dark-color);
    text-decoration: none;
    border-bottom: 2px solid var(--dark-color);
    padding-bottom: 3px;
    transition: color 0.3s, border-bottom-color 0.3s;
}

.portfolio-link a:hover {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
}
/* ======================================================= */
/* ESTILOS PARA O FORMULÁRIO DE CONTATO            */
/* ======================================================= */

/* Seleciona o formulário dentro da seção de contato */
#contact form {
  display: flex;
  flex-direction: column; /* Organiza os itens em uma coluna, um abaixo do outro */
  max-width: 600px;      /* Define uma largura máxima para o formulário */
  margin: 20px auto;     /* Centraliza o formulário na página */
  padding: 20px;         /* Adiciona um espaçamento interno */
}

/* Estilo para as etiquetas (Seu Nome, Seu Email, etc.) */
#contact label {
  font-weight: bold;   /* Deixa o texto em negrito */
  margin-bottom: 5px;  /* Adiciona um pequeno espaço abaixo da etiqueta */
  display: block;      /* Garante que a etiqueta ocupe sua própria linha */
}

/* Estilo geral para os campos de texto e a área de mensagem */
#contact input[type="text"],
#contact input[type="email"],
#contact textarea {
  width: 100%;                  /* Faz os campos ocuparem 100% da largura do formulário */
  padding: 12px;                /* Aumenta o espaçamento interno para facilitar a digitação */
  border: 1px solid #ccc;       /* Adiciona uma borda cinza claro */
  border-radius: 5px;           /* Arredonda as bordas */
  margin-bottom: 20px;          /* Adiciona um espaço maior abaixo de cada campo */
  box-sizing: border-box;       /* Garante que o padding não afete a largura total */
  font-size: 16px;              /* Aumenta o tamanho da fonte */
}

/* Estilo específico para a área da mensagem */
#contact textarea {
  height: 150px; /* Aumenta a altura da caixa de mensagem */
  resize: vertical; /* Permite que o usuário redimensione a caixa apenas na vertical */
}

/* Estilo para o botão de envio */
#contact button {
  background-color: #333;  /* Cor de fundo escura (mude para a cor do seu site) */
  color: white;             /* Cor do texto branca */
  padding: 15px 20px;       /* Aumenta o tamanho do botão */
  border: none;             /* Remove a borda padrão */
  border-radius: 5px;       /* Arredonda as bordas */
  cursor: pointer;          /* Mostra a "mãozinha" ao passar o mouse */
  font-size: 16px;          /* Aumenta o tamanho da fonte */
  font-weight: bold;        /* Deixa o texto em negrito */
  transition: background-color 0.3s ease; /* Efeito suave na mudança de cor */
}

/* Efeito ao passar o mouse por cima do botão */
#contact button:hover {
  background-color: #555; /* Escurece um pouco a cor de fundo */
}