/* BASE */
body{margin:0;font-family:Poppins,sans-serif;color:#333;line-height:1.5}
a{text-decoration:none}
img{max-width:100%;display:block}

/* ===== NAVBAR ===== */
.navbar{
  position:fixed;
  top:0;
  width:100%;
  background:#ffffff;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
  z-index:1000;
}

.nav-container{
  max-width:1200px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 20px;
}

.logo-area img{
  height:58px;
}

/* MENU DESKTOP */
.nav-links{
  display:flex;
  gap:35px;
  list-style:none;
}

.nav-links a{
  color:#333;
  font-weight:500;
  position:relative;
  padding:5px 0;
}

.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:2px;
  background:#8b6a3e;
  transition:.3s;
}

.nav-links a:hover::after{
  width:100%;
}

/* BOTÃO HAMBURGUER */
.menu-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:5px;
}

.menu-toggle span{
  display:block;
  width:26px;
  height:3px;
  background:#333;
  margin:5px 0;
  border-radius:2px;
  transition:.3s;
}

/* HERO */
.hero{height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.slideshow{position:absolute;inset:0;z-index:0}
.slide{position:absolute;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease-in-out}
.slide.active{opacity:1}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.hero-content{position:relative;z-index:2;padding:0 20px}

/* SECTIONS */
.section{padding:100px 20px;text-align:center}
.alt{background:#f5f5f5}
.cards{display:flex;gap:30px;justify-content:center;flex-wrap:wrap}
.card{background:#fff;padding:30px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.08);flex:1 1 250px}

/* GALLERY */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin-bottom:40px}
.gallery img{width:100%;border-radius:10px;cursor:pointer}

/* MAP */
.map iframe{width:100%;height:300px;border:0;border-radius:12px;margin:20px 0}

/* FORM */
.contact-form{max-width:600px;margin:auto;display:flex;flex-direction:column;gap:15px}
.contact-form input,.contact-form textarea{padding:12px;border-radius:8px;border:1px solid #ccc}
.contact-form button{background:#2b1d14;color:#fff;padding:12px;border:none;border-radius:8px}

/* FOOTER */
footer{background:#2b1d14;color:#fff;text-align:center;padding:30px}
.social-links a{color:#fff;margin:0 10px;text-decoration:none}

/* LIGHTBOX */
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);justify-content:center;align-items:center}
#lightbox img{max-width:90%;max-height:80%}

/* RESPONSIVO */
@media(max-width:1024px){
  .cards{gap:20px}
  .nav-links{gap:20px}
}
@media(max-width:768px){
  .menu-toggle{display:block}
  .nav-links{
    position:absolute;
    top:100%;
    right:0;
    width:100%;
    background:#fff;
    flex-direction:column;
    align-items:center;
    gap:20px;
    padding:25px 0;
    box-shadow:0 10px 25px rgba(0,0,0,.1);
    display:none;
  }
  .nav-links.active{display:flex}
  .logo-area img{height:50px}
}
@media(max-width:480px){
  .hero-content h1{font-size:1.8rem}
  .hero-content p{font-size:1rem}
  .cards{flex-direction:column;align-items:center}
  .contact-form{padding:0 10px}
}

@media (max-width:768px){

  .menu-toggle{
    display:block;
  }

  .nav-links{
    position:absolute;
    top:100%;
    right:0;
    width:100%;
    background:#ffffff;
    flex-direction:column;
    align-items:center;
    gap:22px;
    padding:25px 0;
    box-shadow:0 15px 30px rgba(0,0,0,.08);
    display:none;
    animation:slideDown .3s ease;
  }

  .nav-links.active{
    display:flex;
  }

  @keyframes slideDown{
    from{opacity:0; transform:translateY(-10px)}
    to{opacity:1; transform:translateY(0)}
  }
}
.footer-content{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:25px;
  flex-wrap:wrap;
}

.social-links{
  display:flex;
  gap:15px;
}

.social-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  background:#ffffff;
  border-radius:50%;
  box-shadow:0 4px 10px rgba(0,0,0,.15);
  transition:.3s;
}

.social-links a:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 18px rgba(0,0,0,.2);
}

.social-links svg{
  width:20px;
  height:20px;
  fill:#333;
}
/* BOTÃO FLUTUANTE WHATSAPP */
.whatsapp-float{
  position:fixed;
  bottom:20px;
  right:20px;
  width:60px;
  height:60px;
  background:#25D366;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.25);
  z-index:999;
  transition:.3s;
}

.whatsapp-float:hover{
  transform:scale(1.1);
  box-shadow:0 10px 25px rgba(0,0,0,.35);
}

.whatsapp-float svg{
  width:30px;
  height:30px;
  fill:white;
}

/* Em telemóvel sobe um pouco para não ficar colado */
@media(max-width:768px){
  .whatsapp-float{
    bottom:15px;
    right:15px;
    width:55px;
    height:55px;
  }
}

/* HERO DAS PÁGINAS INTERNAS */
.page-hero{
  height:40vh;
  background:#f4f4f4;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-top:80px;
}

.page-hero h1{
  font-size:2.5rem;
}

/* SECÇÃO EMPRESA */
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}

.about-image img{
  width:100%;
  border-radius:10px;
}

/* RESPONSIVO */
@media(max-width:768px){
  .about-grid{
    grid-template-columns:1fr;
  }
}

.portfolio-category{
  margin:60px 0 20px;
  text-align:center;
  font-size:1.8rem;
  color:#8b6a3e;
}

.portfolio-category{
  margin:60px 0 20px;
  text-align:center;
  font-size:1.8rem;
  color:#8b6a3e;
}




