/* Reset básico */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #fff;
    font-family: 'DM Sans', sans-serif;
    color: #000;
}

.content {
    margin: 0 80px;
}

/* Header */
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 112px;
    margin: 0 80px;
}

.header .logo img {
    width: 212px;
    height: 32px;
}

.header .menu {
    display: flex;
    gap: 30px;
}

.header .menu a {
    text-decoration: none;
    color: #000;
    font-size: 16px;
    font-weight: 400;
    padding: 10px 15px;
    display: inline-flex;
    align-items: center;
}

.header .menu a:not(.lang-button):hover {
    font-family: 'DM Mono', monospace;
    text-decoration: underline;
    font-size: 14px;
}

/* Botão EN */
.lang-button {
    display: inline-flex;
    padding: 10px 15px;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    border: 1px solid #000;
    width: 56px;
    text-align: center;
}

.lang-button:hover {
    background: #000;
    color: #fff !important;
    transition: all 0.2s ease;
}

/* Banner Products */
.products-banner {
    width: 100%;
    height: 128px;
    border-radius: 16px;
    background: #5D5545;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 56px 0 0 0;
}

.products-banner h1 {
    color: #FFF;
    font-family: 'DM Sans', sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

/* Menu Categorias */
.products-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    margin-top: 56px;
}

.products-menu a {
    color: #000;
    text-align: center;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    transition: color 0.2s ease, font-family 0.2s ease;
    cursor: pointer;
}

.products-menu a:hover {
    color: #939393;
    text-decoration: underline;
}

.products-menu a.active {
    font-family: 'DM Mono', monospace;
    color: #CCA172;
}

/* Products Gallery */
.products-gallery {
    margin-top: 56px;
    display: flex;
    flex-wrap: wrap; /* 🔹 Permite passar para a linha de baixo */
    gap: 16px;
    width: 100%;
}

.product-item {
    width: calc((100% - 48px) / 4); /* 4 produtos por linha */
    display: flex;
    flex-direction: column;
}

.product-item img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.product-item img:hover {
    transform: scale(1.03); /* pequeno efeito de hover */
}

.product-text {
    margin-top: 16px;
}

.product-name {
    font-size: 12px;
    font-weight: 400;
    margin-bottom: 2px;
}

.product-description {
    color: #939393;
    font-family: 'DM Mono', monospace;
    font-size: 12px;
}

/* Catalogue section */
.catalogue-section {
    margin: 56px 0;
    height: 220px;
    background: #CCA172;
    border-radius: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 80px;
    text-align: center;
    color: #fff;
}

.catalogue-content {
    max-width: 896px;
}

.catalogue-content h2 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
}

.catalogue-content p {
    font-size: 16px;
    margin-bottom: 24px;
}

.download-button {
    border: 1px solid #fff;
    border-radius: 100px;
    padding: 10px 24px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s ease;
}

.download-button:hover {
    background: #fff;
    color: #000;
}


/* Footer */
.footer {
    margin-top: 80px;
    padding: 56px 0;
    border-top: 1px solid #000;
    background: #DCD6CA;
    width: 100%;
}

.footer-columns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 80px;
}

.footer .col {
    flex: 1;
    min-width: 180px;
    margin-right: 20px;
}

.footer .col h3 {
    font-size: 14px;
    margin-bottom: 12px;
}

.footer .col p,
.footer .col a {
    font-size: 14px;
    color: #000;
    line-height: 20px;
}

.footer .col-4 p {
    text-align: right;
    font-weight: 700;

}

.footer-logo {
    text-align: center;
    margin: 56px 80px;
}

.footer-line {
    border: none;
    border-top: 1px solid #000;
    margin: 24px 80px;
}

.footer-bottom {
    text-align: center;
    font-size: 12px;
}

.footer-bottom a {
    color: #000;
    text-decoration: underline;
}

/* Pop-up */
#product-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none; 
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.popup-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
}

.popup-content {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    width: 700px;
    padding: 50px 22px;
    background: #fff;
    border-radius: 16px;
    z-index: 1001;
}

.popup-img {
    width: 600px;
    height: 600px;
    object-fit: cover;
    border-radius: 8px;
}

.popup-close,
.popup-prev,
.popup-next {
    position: absolute;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #000;
}

.popup-close { top: 10px; right: 10px; }
.popup-prev { left: 10px; top: 50%; transform: translateY(-50%); }
.popup-next { right: 10px; top: 50%; transform: translateY(-50%); }


/* Transição suave entre páginas */
body {
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}

body.loaded {
  opacity: 1;
}

.ver-mais {
  display: none; /* escondido por padrão */
}


/* =====================
   MOBILE STYLES
===================== */
@media (max-width: 768px) {

  /* Margens gerais */
  .content,
  .header,
  .footer-columns,
  .footer-logo,
  .footer-line {
    margin: 0 20px;
  }

  /* Header */
  .header {
    height: 72px;
  }

  .header .menu {
    display: none;
    position: absolute;
    top: 72px;
    right: 0;
    width: 100%;
    background: #fff;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    border-top: 1px solid #000;
  }

  .header .menu.open {
    display: flex;
  }

  /* Botão hamburguer */
  .hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    background: none;
    border: none;
    cursor: pointer;
  }

  .hamburger span {
    display: block;
    height: 2px;
    width: 100%;
    background: #000;
  }

  /* Texto */
  .text-box {
    width: 100%;
  }

  .text-box h2 {
    font-size: 18px;
    line-height: 26px;
  }

  .text-box p {
    font-size: 16px;
    line-height: 26px;
  }


  /* Produtos */
  #products-gallery {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  #products-gallery .product-item {
    width: 100% !important; /* ocupa toda a largura */
  }

  /* Link "Ver mais" */
  .ver-mais {
    display: block; /* visível só em mobile */
    text-align: center;
    margin-top: 32px;
    font-family: 'DM Mono', monospace;
    font-size: 15px;
    text-decoration: underline;
    color: #000;
    cursor: pointer;
  }

    /* Menu de produtos em mobile */
  .products-menu {
    flex-direction: column; /* coloca os itens em coluna */
    align-items: center; /* centra cada link */
    gap: 10px; /* espaçamento entre linhas */
    margin-top: 32px; /* opcional: mais respiro */
  }

  .products-menu a {
    display: block;
    width: 100%;
    text-align: center;
  }



/* Pop-up overlay */
  #product-popup {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
  }

  /* Caixa do pop-up */
  .popup-content {
    flex-direction: column;
    align-items: center;
    width: 90%;
    max-width: 360px;
    padding: 20px;
    gap: 12px;
    background: #fff;
    border-radius: 16px;
    position: relative;
  }

  /* Imagem */
  .popup-img {
    width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: cover;
    border-radius: 8px;
  }

  /* Botão de fecho */
  .popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 18px;
  }

  /* Controlo das setas */
  .popup-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px; /* espaço entre as setas */
    margin-top: 8px;
  }

  .popup-prev,
  .popup-next {
    position: static;
    font-size: 20px;
    background: none;
    border: none;
    cursor: pointer;
  }

   /* Catálogo */
  .catalogue-section {
    height: auto;
    padding: 40px 20px;
  }

  .catalogue-content h2 {
    font-size: 18px;
  }

  .catalogue-content p {
    font-size: 14px;
  }

  .download-button {
    font-size: 13px;
    padding: 8px 20px;
  }

  /* Footer */
  .footer {
    padding: 40px 0;
  }

  .footer-columns {
    flex-direction: column;
    gap: 20px;
  }

  .footer .col-2,
  .footer .col-3 {
    display: none;
  }

  .footer .col-1,
  .footer .col-4 {
    text-align: left;
    margin-right: 0;
  }

  .footer .col-4 p {
    text-align: left;
    font-weight: 700;
  }

  .footer-bottom {
    font-size: 11px;
  }

    .footer-logo {
    margin-top: 40px; /* aumenta o espaçamento acima do logo */
    margin-bottom: 10px; /* opcional, para dar respiro abaixo */
  }

  .footer-line {
    margin-top: 10px; /* aumenta o espaçamento acima do logo */
    margin-bottom: 10px; /* opcional, para dar respiro abaixo */
  } 

}


