/* Estilos Gerais (Variáveis e básicos) */
:root {
  --primary: #f39b1c;
  --secondary: #704308;
  --dark: #000000;
  --light: #f8f9fa;
  --text: #000000;
  /* Certifique-se de que estas variáveis não estão duplicadas ou conflitam com outras no seu :root existente */
}


/* Base */
.header {
  position: fixed; /* Mantém o header fixo no topo */
  top: 0;
  width: 100%;
  max-width: 100%;
  z-index: 1000;
  background-color: #ffffff; /* Cor de fundo */
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1); /* Sombra do header */
  margin: 0;
  padding: 0 1px; /* Reduzindo o espaço interno para não aumentar a altura */
  height: 10px; /* Define uma altura fixa para a barra */
  line-height: 10px; /* Garante que o texto fique centralizado verticalmente */
  font-size: 20px; /* Define o tamanho da fonte */
}

/* Ativo - item selecionado */
.site-navigation .site-menu li a.active {
    color: var(--primary-color); /* Laranja de destaque */
    font-weight: bold;
}

.site-navigation .site-menu li a.active:after {
    width: 100%; /* Mantém o traço cheio */
    background-color: var(--primary-color);
}

/* Barra underline animada */
.site-menu > li > a {
    color: var(--text-color);
    font-weight: 500;
    padding: 15px 0;
    position: relative;
    transition: all 0.3s ease;
}

.site-menu > li > a:after {
    content: '';
    position: absolute;
    bottom: 4px; /* 🔧 antes estava 10px, baixei mais para dar espaço */
    left: 0;
    width: 0;
    height: 3px; /* traço mais espesso */
    background-color: var(--primary-color);
    border-radius: 2px;
    transition: width 0.3s ease;
}

.site-menu > li:hover > a {
    color: var(--primary-color);
}

.site-menu > li:hover > a:after {
    width: 100%;
}

/* Botão de Idioma */
.language-button {
    background-color: var(--primary-color);
    color: white;
    border: none;
    padding: 8px 15px;
    font-size: 14px;
    cursor: pointer;
    border-radius: 30px;
    transition: all 0.3s ease;
    font-weight: 500;
    margin-left: 15px;
}

.language-button:hover {
    background-color: var(--primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(243, 155, 28, 0.3);
}


@keyframes zoomEffect {
    0% { transform: scale(1); }
    100% { transform: scale(1.1); }
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: left;
    max-width: 700px;
    margin: 0;
    padding-left: -400%;
}

.hero-logo {
    max-width: 100%;
    height: auto;
    margin: 0 0 90px 0;
    animation: fadeInUp 1s ease both;
}

/* Seção "A Orbis" Modernizada */
.about-section {
    padding: var(--section-padding);
}

.about-content {
    display: flex;
    align-items: center;
    gap: 50px;
}

.about-text {
    flex: 1;
    animation: fadeInLeft 1s ease both;
}

.about-image {
    flex: 1;
}

.about-image img {
    width: 100%;
    border-radius: 10px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.highlight-text {
    color: var(--primary-color);
    font-weight: 600;
}

/* Seção Missão, Visão, Valores */
.values-section {
    padding: var(--section-padding);
}

.value-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    height: 100%;
}

.value-icon {
    font-size: 2.5rem;
    color: var(--primary-color);
    margin-bottom: 20px;
}


/* Divisores */
.divider {
  width: 60px;
  height: 4px;
  background: var(--primary);
  margin: 20px 0;
}

.divider-center {
  width: 80px;
  height: 4px;
  background: var(--primary);
  margin: 20px auto 40px; /* ISSO É CRUCIAL PARA CENTRALIZAR E DAR ESPAÇAMENTO */
}

.product-quantity {
    font-size: 0.6em; /* Reduz o tamanho da fonte */
    color: #f39b1c; /* Cor laranja, ajuste se tiver um tom específico */
    font-weight: normal; /* Para garantir que não fique em negrito a menos que deseje */
    margin-left: 5px; /* Pequeno espaçamento do nome */
}

/* Títulos de Seção */
.section-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 20px;
}

.highlight {
  color: var(--primary);
}


/* Seção "A Orbis" */
.about-section {
  padding: 10px 0; /* Ajuste conforme necessário */
}

.about-container {
  max-width: 1200px;
  margin: 0 auto;
}

#a-orbis .about-content {
  display: flex;
  align-items: center;
  gap: 50px;
  flex-direction: row-reverse; /* Inverte a ordem dos itens flexíveis para colocar a imagem à direita */
}

#a-orbis .about-text {
  flex: 1;
}

#a-orbis .about-description {
  font-size: 1.1rem;
  line-height: 1.8;
  color: var(--text);
  margin-bottom: 20px;
  text-align: justify; /* Garante que o texto esteja justificado */
}

#a-orbis .about-image {
  flex: 1;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}

#a-orbis .about-image img {
  width: 100%;
  height: auto;
  display: block;
}

#a-orbis .image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0,0,0,0.3));
}

/* Seção "Nossos Princípios" (values-section) */
.values-section {
  padding-top: 60px;
  padding-bottom: 80px;
}

.values-section .values-title {
  font-size: 2.1rem;
  color: var(--dark);
  margin-bottom: 20px;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.value-card {
  border-radius: 10px;
  padding: 40px 30px;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  background-color: white;
}

.value-icon {
  font-size: 2.5rem;
  color: var(--primary);
  margin-bottom: 20px;
}

.value-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--dark);
  margin-bottom: 15px;
}

.value-description {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text);
}

.value-list {
  list-style: none;
  padding: 0;
  text-align: left;
}

.value-list li {
  margin-bottom: 10px;
  font-size: 1rem;
  display: flex;
  align-items: center;
  color: #000;
}

.value-list i {
  color: var(--primary);
  margin-right: 10px;
  font-size: 1.2rem;
}

/* Responsividade */
@media (max-width: 992px) {
  #a-orbis .about-content {
    flex-direction: column; /* Volta para coluna em telas menores */
  }

  #a-orbis .about-image {
    order: -1;
  }

  .section-title { /* Aplicado a todos os títulos de seção */
    font-size: 1.8rem; /* Ajustado para 1.8rem como estava no seu HTML original para "A Orbis" */
  }

  .values-section .values-title { /* Especificamente para o título de valores */
    font-size: 1.8rem; /* Ajuste para manter consistência com outros títulos seções em mobile */
  }
}

@media (max-width: 768px) {
  .values-grid {
    grid-template-columns: 1fr;
  }

  /* Ajuste de padding se a div externa foi removida */
  .site-section.custom-border-bottom {
      padding: 40px 0; /* Diminua o padding para telas menores se desejar */
  }


  
  /* ========================
     A Orbis + Princípios
     ======================== */
  .about-section {
    position: relative;
    width: 100%;
    min-height: 500px;
  }

  .about-bg {
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
    min-height: 500px;
    position: relative;
  }

  .about-overlay {
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 40px 15px;
    text-align: center;
  }

  .about-overlay h2,
  .about-overlay p {
    color: #fff;
  }

  .value-card {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform .3s ease;
    height: 100%;
  }

  .value-card:hover {
    transform: translateY(-5px);
  }

  .value-title {
    margin-top: 15px;
    font-weight: bold;
    color: #f39b1c;
  }

  .value-icon {
    font-size: 36px;
    color: #f39b1c;
  }

  .value-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .value-list li {
    margin: 6px 0;
  }

  .value-list i {
    margin-right: 8px;
    color: #f39b1c;
  }
}

/* Estilos para o cabeçalho das seções (já configurado para 2rem e left-aligned) */
.section-header {
    text-align: left;
    margin-bottom: 3rem; /* Espaçamento abaixo do cabeçalho */
}

.section-header .section-title {
    font-size: 2rem; /* Tamanho do título (o mesmo para todas as seções principais) */
    margin-bottom: 0.5rem;
    color: #202020;
    font-weight: 700; /* Mais negrito */
}

.section-header .divider {
    width: 60px;
    height: 4px;
    background-color: #f59e0b; /* Cor laranja do divisor */
    margin-bottom: 1rem;
    border-radius: 5px;
}

/* ============================
   SEÇÃO DE PRODUTOS
============================ */

/* Fundo e padding da seção externa de produtos */
.products-section-bg {
  padding: 20px 0; /* reduzido (antes 30px) */
  background-color: rgba(255, 245, 232, 0.966);
}

/* Padding também no wrapper inicial e no de todos os produtos */
#initial-products-wrapper,
#more-products-wrapper {
  padding: 10px 0; /* menos espaçamento */
}

/* Ajustes de padding interno */
.products-inner-padding {
  margin-left: -16px;
  padding-bottom: 0; /* reduzido */
}


/* ============================
   TÍTULOS DAS MARCAS
============================ */
.brand-title {
  font-size: 1.4rem; /* um pouco menor */
  font-weight: 600;
  margin: 20px 0 15px;
  text-align: left;
}

/* Cores diferentes para cada marca */
#brand-moreno .brand-title {
  color: #363548;
}

#brand-pharma-dynamics .brand-title {
  color: #363548;
}

#brand-velvetmed .brand-title {
  color: #363548;
}

/* ============================
   PRODUTOS INDIVIDUAIS
============================ */
.product-name-title {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 10px;
  margin-bottom: 5px;
}

.product-description {
  font-size: 0.9rem;
  color: #555;
  margin-bottom: 8px;
}

.product-quantity-subtitle {
  font-size: 0.85rem;
  color: #777;
  margin-bottom: 5px;
}

/* ===== NOVO: lista com bullets na descrição ===== */
.product-description-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  margin-top: 8px;
  margin-bottom: 8px;
  text-align: left;
}

.product-description-list li {
  font-size: 0.9rem;
  color: #555;
  margin-bottom: 6px;
  display: flex;
  align-items: flex-start;
  line-height: 1.4;
}

.product-description-list .bullet-icon {
  color: #f59e0b;
  margin-right: 8px;
  font-size: 0.85rem;
  flex-shrink: 0;
  margin-top: 3px;
}


/* ============================
   AJUSTES DE SEÇÃO PRODUTOS
============================ */

/* Reduz a margem superior da seção de produtos */
.site-section.products-section-bg {
  padding-top: 30px;
}

/* Reduz a margem inferior do título */
.title-section {
  margin-bottom: 15px;
}

/* Ajuste do container */
section#produtos .container {
  padding-top: 0px;
}

/* Nova classe para alinhar o cabeçalho à esquerda */
.section-header-left {
  text-align: left;
  margin-left: 15px;
}

.section-header-left .section-title {
  font-size: 1.8rem;
  color: #333;
  margin-bottom: 0.5rem;
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
}

/* Linha laranja abaixo do título */
.title-underline {
  width: 60px;
  height: 4px;
  background-color: #f59e0b;
  margin: 0;
  border-radius: 5px;
  display: block;
}

/* Ajuste interno */
.products-inner-padding {
  margin-left: -16px;
  padding-bottom: 0px;
}


/* ============================
   ESTILOS PRODUTO (Cards)
============================ */

.item-v2 .product-name-title {
  font-size: 1.2rem;
  color: #333;
  margin-bottom: 5px;
  line-height: 1.2;
}

.item-v2 .product-quantity-subtitle {
  font-size: 0.9rem;
  color: #666;
  margin-top: 0;
  margin-bottom: 10px;
  font-weight: normal;
}

/* Card do produto */
.item-v2 {
  display: flex;
  flex-direction: column;
  background: white;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05);
  padding: 20px;
  transition: all 0.3s ease;
  width: 100%;
  position: relative;
  min-height: 100%;
}

.item-v2 .mt-auto {
  margin-top: auto;
}

/* Imagem */
.product-image {
  max-height: 200px;
  object-fit: contain;
  margin-bottom: 15px;
  transition: transform 0.3s ease;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.product-image:hover {
  transform: scale(1.05);
}

/* Texto */
.product-description {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 10px;
  min-height: 40px;
}

/* Selo Novo */
.onsale {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #f39b1c;
  color: white;
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 0.8rem;
  font-weight: bold;
  z-index: 1;
}


/* ============================
   WRAPPERS DE PRODUTOS
============================ */

/* Container com transição suave */
.products-container-wrapper {
  overflow: hidden;
  transition: max-height 0.45s ease, opacity 0.4s ease-in-out;
  opacity: 1;
  will-change: max-height, opacity;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  max-height: 0px;
}

.products-container-wrapper.hidden-products {
  max-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Grid */
.products-grid {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0;
  margin-bottom: 0;
}

.products-grid .col-sm-6.col-lg-4.d-flex.align-items-stretch {
  margin-bottom: 30px;
}


/* ============================
   AJUSTES EXTRAS — "Ver Todos Produtos"
============================ */

/* Wrapper de todos os produtos */
#more-products-wrapper {
  padding-top: 10px; /* 🔧 reduz espaço no topo */
  margin-top: 0;
}

/* Cada bloco de marca */
.brand-group {
  margin-top: 25px; /* menos espaço entre marcas */
}

/* Cabeçalho da marca */
.brand-header {
  margin-bottom: 12px;
}

/* Estilo do título da marca */
.brand-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 10px 0;
  text-align: left;
  padding-bottom: 6px;
  border-bottom: 3px solid #f39b1c;
  display: inline-block;
}


/* ==========================
   BOTÕES DE CONTROLE
   ========================== */
.btn-control-container {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 60px;
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 1;
    pointer-events: auto;
}

.btn-control-container.hidden-btn {
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
}

/* Botão primário customizado */
.btn-primary-orbis {
    background: #f39b1c;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    font-weight: bold;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: all 0.3s ease;
    display: inline-block;
    text-decoration: none;
}

.btn-primary-orbis:hover {
    background: #e08b1a;
    color: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    text-decoration: none;
}

.btn-primary-orbis:active {
    background: #cc7a17;
    transform: translateY(1px);
    box-shadow: none;
}

/* Linha decorativa do botão */
.btn-primary-orbis::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: #e08b1a;
    transform: scaleX(1);
    transform-origin: bottom right;
    transition: transform 0.3s ease-out;
    z-index: 0;
}

.btn-primary-orbis:hover::after {
    transform: scaleX(0);
    transform-origin: bottom left;
}

/* ==========================
   RESPONSIVIDADE
   ========================== */
@media (max-width: 768px) {
    .item-v2 {
        padding: 15px;
    }

    .product-image {
        max-height: 150px;
    }

    .product-description {
        font-size: 0.85rem;
        min-height: 35px;
    }

    .onsale {
        font-size: 0.7rem;
        padding: 2px 8px;
    }

    .section-header-left {
        margin-left: 0;
        text-align: center;
    }

    .section-header-left .section-title {
        font-size: 1.6rem;
    }

    .title-underline {
        margin: 0 auto;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .item-v2 {
        padding: 18px;
    }

    .product-image {
        max-height: 180px;
    }
}


/* --- Seção Nossos Catálogos --- */
#Nossos-Catalogos {
    padding: 60px 0; /* Combina padding do .bg-light e .catalogos-section */
    background-color: #ffffff; /* Fundo branco, de .bg-light */
    /* Adicione scroll-margin-top aqui se precisar para a navegação */
}

/* Cabeçalho da Seção de Catálogos */
#Nossos-Catalogos .section-header {
    text-align: left;
    margin-bottom: 3rem; /* Espaçamento abaixo do cabeçalho */
}

/* O .section-title global já define o tamanho do título */
#Nossos-Catalogos .section-header .section-title {
    margin-bottom: 0.5rem; /* Menor espaçamento abaixo do título */
}

#Nossos-Catalogos .catalogos-divider { /* Nova classe para este divisor específico */
    width: 60px;
    height: 4px;
    background-color: var(--primary); /* Utilizando a variável de cor principal */
    margin-bottom: 1rem;
}

#Nossos-Catalogos .section-subtitle {
    font-size: 1rem;
    color: var(--gray); /* Utilizando a variável para cor de texto "muted" */
    margin-bottom: 0;
}

/* Nova classe para espaçamento vertical entre as linhas de catálogos */
.catalogos-grid {
    margin-bottom: 20px; /* Ajuste conforme o espaçamento desejado entre as linhas de catálogos */
}

/* Card de Catálogo */
.catalogo-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border: none;
    display: flex; /* Para garantir que h-100 funcione bem com flex-direction: column */
    flex-direction: column;
}

.catalogo-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

.catalogo-thumbnail {
    background: #f5f5f5;
    overflow: hidden;
    position: relative;
    height: 300px; /* Altura fixa para a imagem da capa */
    min-height: 200px; /* Altura mínima em telas pequenas */
    flex-shrink: 0; /* Impede que o thumbnail encolha */
}

.catalogo-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Essencial para cobrir o espaço sem distorcer */
    display: block;
}

.catalogo-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catalogo-card:hover .catalogo-overlay {
    opacity: 1;
}

.btn-preview {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: rgba(var(--primary-rgb), 0.9); /* Usando var(--primary) com transparência se tiver rgb */
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 1.2rem;
}

.btn-preview:hover {
    background-color: rgba(var(--secondary-rgb), 0.9); /* Usando var(--secondary) para hover se tiver rgb */
    transform: scale(1.1);
}

.catalogo-info {
    padding: 20px;
    flex-grow: 1; /* Permite que o info cresça para preencher o espaço restante */
}

.catalogo-info h5 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 0.5rem;
}

.catalogo-meta {
    font-size: 0.9rem;
    color: #666;
    display: flex;
    gap: 0.75rem;
}

.catalogo-meta i {
    color: var(--primary); /* Cor dos ícones */
}

/* Tooltip para o botão - Mantido como global se já estiver definido */
/* [title] { ... } */
/* [title]:hover::after { ... } */
/* [title]:hover::before { ... } */

/* Modal PDF Viewer (altura para visualização, não para capa) */
.pdf-viewer-container {
    height: 70vh;
    min-height: 500px; /* Altura mínima para o visualizador de PDF no modal */
}

/* --- Responsividade para Catálogos --- */
@media (max-width: 991.98px) { /* Tablets e telas médias */
    #Nossos-Catalogos .col-md-3 { /* As colunas col-md-3 se tornam 50% de largura */
        flex: 0 0 50%;
        max-width: 50%;
    }
    .catalogo-thumbnail {
        height: 280px;
    }
}

@media (max-width: 767.98px) { /* Smartphones grandes e tablets pequenos */
    #Nossos-Catalogos .col-sm-6 { /* As colunas col-sm-6 se tornam 100% de largura */
        flex: 0 0 100%;
        max-width: 100%;
    }
    #Nossos-Catalogos { /* Ajuste de padding para telas menores */
        padding: 40px 15px;
    }
    .catalogo-thumbnail {
        height: 250px;
    }
    .pdf-viewer-container {
        height: 60vh;
        min-height: 400px;
    }
}

@media (max-width: 575.98px) { /* Smartphones pequenos */
    .catalogo-thumbnail {
        height: 200px;
    }
    .catalogo-info h5 {
        font-size: 1rem;
    }
    .catalogo-meta {
        font-size: 0.85rem;
    }
}


/* Estilos para o cabeçalho das seções (ex: "Contacto", "Nossos Catálogos") */
.section-header {
    text-align: left; /* ALINHA TODOS OS TÍTULOS DE SEÇÃO À ESQUERDA */
    margin-bottom: 3rem; /* Espaçamento abaixo do cabeçalho */
}

.section-header .section-title {
    font-size: 1.8rem; /* Tamanho do título */
    margin-bottom: 0.5rem; /* Menor espaçamento abaixo do título */
    color: #202020; /* Cor padrão para títulos de seção */
    font-weight: bold; /* Deixa o título em negrito */
}

.section-header .divider {
    width: 60px;
    height: 4px;
    background-color: #f59e0b; /* Cor do divisor (warning) */
    margin-bottom: 1rem; /* Espaçamento abaixo do divisor */
    /* Remove margin: 0 auto; para que o divisor fique à esquerda */
    border-radius: 5px; /* Bordas arredondadas para o divisor */
}

/* O estilo inline no HTML para o divisor de "Nossas Moradas" também foi ajustado para left:0; */
/* Para a seção "Nossas Moradas", é importante que o .section-header NÃO tenha text-align: center; inline,
    e que o 'span' do divisor tenha 'left:0;' em vez de 'left:50%; transform:translateX(-50%);' */

.section-header .section-subtitle {
    font-size: 1rem;
    color: #6c757d;
    margin-bottom: 0;
}

/* Contêiner principal do formulário */
.contact-form-container {
    background-color: #ffffff;
    border-radius: 12px; /* Bordas arredondadas para o container do formulário */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); /* Sombra mais pronunciada */
    padding: 40px; /* Mais padding interno */
    border: none; /* Remove a borda original */
    max-width: 700px; /* Define uma largura máxima para o formulário */
    margin-left: 0; /* ALINHA O FORMULÁRIO À ESQUERDA */
    margin-right: auto; /* Garante que ele não seja empurrado para a direita */
}

/* Título "Entre em contacto" dentro do formulário */
.contact-form-title {
    font-size: 2rem;
    text-align: left; /* ALINHA O TÍTULO "Entre em contacto" À ESQUERDA */
    color: #202020;
    font-weight: bold;
    margin-bottom: 2.5rem; /* Aumenta o espaçamento abaixo do título do formulário */
    padding: 0; /* Remove padding extra */
}

/* Estilos para os campos de input e textarea */
.form-control {
    border-radius: 8px; /* Bordas levemente arredondadas */
    border: 1px solid #e0e0e0; /* Borda padrão mais clara */
    padding: 12px 15px; /* Mais padding interno */
    box-shadow: none; /* Remove qualquer sombra padrão do Bootstrap */
    transition: all 0.3s ease; /* Transição suave para hover/focus */
    background-color: #f8f9fa; /* Um cinza claro para o fundo do campo */
    color: #343a40; /* Cor do texto digitado nos campos (muito importante para visibilidade!) */
}

.form-control::placeholder { /* Estilo para o placeholder */
    color: #888e93; /* Cor mais escura para o placeholder */
    opacity: 1; /* Garante que o placeholder não seja transparente */
}

.form-control:focus {
    border-color: #f39b1c; /* Borda laranja no foco */
    box-shadow: 0 0 0 0.25rem rgba(243, 155, 28, 0.25); /* Sombra de foco laranja suave */
    background-color: #ffffff; /* Fundo branco no foco */
    color: #212529; /* Cor mais escura para o texto no foco */
}

/* Removido o estilo da label para evitar qualquer traço, já que as labels serão removidas do HTML */

/* label.form-label {
    font-weight: 500;
    color: #495057;
    margin-bottom: 0.5rem;
} */

/* Estilo para o botão Enviar Mensagem */
.btn-submit-message {
    border-radius: 8px; /* Bordas arredondadas no botão */
    font-weight: 600; /* Mais negrito */
    background-color: #f39b1c; /* Cor laranja principal */
    border-color: #f39b1c; /* Borda da mesma cor */
    margin-top: 30px; /* Mais espaçamento acima do botão */
    padding: 15px 30px; /* Mais padding para um botão maior */
    width: 100%; /* Botão ocupa toda a largura disponível */
    font-size: 1.1rem; /* Tamanho da fonte um pouco maior */
    color: #ffffff; /* Texto do botão agora é branco! */

    /* Propriedades para o efeito 3D e traço inferior */
    position: relative; /* Essencial para o ::after */
    overflow: hidden; /* Garante que o ::after fique dentro do botão */
    z-index: 1; /* Garante que o conteúdo do botão fique acima do ::after */
    transition: all 0.3s ease; /* Transição suave para o hover */
    display: inline-block; /* Para garantir que as propriedades de width e padding funcionem bem */
    text-decoration: none; /* Remover sublinhado se for um link */
}

.btn-submit-message:hover {
    background-color: #e68900; /* Laranja mais escuro no hover */
    border-color: #e68900; /* Borda da mesma cor */
    transform: translateY(-3px); /* Pequeno efeito de levantamento */
    box-shadow: 0 6px 12px rgba(243, 155, 28, 0.3); /* Sombra mais pronunciada no hover */
}

/* Traço laranja por baixo do botão (efeito 3D) */
.btn-submit-message::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px; /* Altura do traço */
    background: #e08b1a; /* Laranja do traço */
    transform: scaleX(1); /* Inicia visível */
    transform-origin: bottom right;
    transition: transform 0.3s ease-out;
    z-index: 0; /* Garante que o traço fique atrás do conteúdo */
}

.btn-submit-message:hover::after {
    transform: scaleX(0); /* Esconde o traço no hover */
    transform-origin: bottom left;
}

.btn-submit-message:active {
    background: #cc7a17; /* Laranja ainda mais escuro no active */
    transform: translateY(1px); /* Pequeno efeito de "pressionado" */
    box-shadow: none; /* Remove a sombra quando pressionado */
}


/* --- Seção Parceiros --- */
#Parceiros {
    padding: 40px 0;
    background-color: #ffffff; /* Fundo branco para a seção */
    scroll-margin-top: 100px; /* Para rolagem suave para a seção */
}

#Parceiros .title-section {
    margin-bottom: 20px;
    text-align: left;
}

#Parceiros .partners-divider {
    width: 60px;
    height: 4px;
    background-color: #f59e0b; /* Cor laranja específica para este divisor */
    margin: 0; /* Alinha à esquerda */
    border-radius: 5px;
}

#Parceiros .partners-description-wrapper {
    max-width: 800px; /* Limita a largura do texto da descrição */
    margin-bottom: 10px; /* Adiciona um pouco de espaço abaixo da descrição */
}

#Parceiros .partners-description {
    text-align: justify;
    font-size: 1rem;
    color: #555;
    line-height: 1.8;
}

#Parceiros .partners-logos-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: left; /* Alinha os logos à esquerda dentro do container */
    gap: 25px; /* Espaço entre os logos */
}

.client-logo {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Padrão para telas maiores: 3 itens por fila */
    flex: 0 1 calc(33.333% - 20px) !important; /* 100% / 3 itens = 33.333%, subtrai o gap. O !important pode ser removido se não houver conflito */
    box-sizing: border-box; /* Garante que padding e border sejam incluídos na largura */
}

.client-logo img {
    max-width: 80%; /* Garante que a imagem não seja maior que 80% do seu container */
    height: auto;
    width: 65%; /* Define uma largura padrão para a imagem dentro do logo */
    object-fit: contain; /* Redimensiona a imagem para caber no container mantendo a proporção */
}


/* --- Responsividade para Parceiros --- */

@media (max-width: 992px) {
    #Parceiros .client-logo {
        /* Em telas médias, mantém 3 itens por fila (ou ajuste se precisar de 2) */
        flex: 0 1 calc(33.333% - 20px) !important;
    }
}

@media (max-width: 768px) {
    #Parceiros .client-logo {
        /* Em telas menores, 2 itens por fila */
        flex: 0 1 calc(50% - 20px) !important;
    }
}

@media (max-width: 576px) {
    #Parceiros .client-logo {
        /* Em telas muito pequenas, 1 item por fila */
        flex: 0 1 calc(100% - 20px) !important;
    }
}

/* Estilos para o cabeçalho das seções (ex: "Contacto") */
.section-header {
    text-align: left; /* ALINHA TODOS OS TÍTULOS DE SEÇÃO À ESQUERDA POR PADRÃO */
    margin-bottom: 3rem; /* Espaçamento abaixo do cabeçalho */
}

.section-header .section-title {
    font-size: 1.8rem; /* Tamanho do título */
    margin-bottom: 0.5rem; /* Menor espaçamento abaixo do título */
    color: #202020; /* Cor padrão para títulos de seção */
    font-weight: bold; /* Deixa o título em negrito */
}

.section-header .divider {
    width: 60px;
    height: 4px;
    background-color: #f59e0b; /* Cor do divisor (warning) */
    margin-bottom: 1rem; /* Espaçamento abaixo do divisor */
    border-radius: 5px; /* Bordas arredondadas para o divisor */
}

/* ----------------------------------------------------- */
/* NOVOS ESTILOS PARA A SEÇÃO "NOSSAS MORADAS" (CENTRALIZADOS) */
/* ----------------------------------------------------- */

.addresses-section {
    padding-top: 80px; /* Espaçamento superior da seção */
    padding-bottom: 80px; /* Espaçamento inferior da seção */
    background-color: rgba(255, 245, 232, 0.966); /* Cor de fundo igual à seção de contato */
}

/* Estilos para o cabeçalho das seções (ex: "Contacto") */
.section-header {
    text-align: left; /* ALINHA TODOS OS TÍTULOS DE SEÇÃO À ESQUERDA POR PADRÃO */
    margin-bottom: 3rem; /* Espaçamento abaixo do cabeçalho */
}

.section-header .section-title {
    font-size: 1.8rem; /* Tamanho do título */
    margin-bottom: 0.5rem; /* Menor espaçamento abaixo do título */
    color: #202020; /* Cor padrão para títulos de seção */
    font-weight: bold; /* Deixa o título em negrito */
}

.section-header .divider {
    width: 60px;
    height: 4px;
    background-color: #f59e0b; /* Cor do divisor (warning) */
    margin-bottom: 1rem; /* Espaçamento abaixo do divisor */
    border-radius: 5px; /* Bordas arredondadas para o divisor */
}

.addresses-row {
    display: flex;
    flex-wrap: wrap;
    gap: 30px; /* Espaçamento entre os cartões */
    justify-content: center; /* Centraliza os cartões horizontalmente */
}

.address-card {
    flex: 1 1 calc(45% - 15px); /* Ajusta a largura para 2 cartões por linha com gap */
    max-width: calc(50% - 15px); /* Garante que não ultrapasse 50% menos metade do gap */
    background:white;
    border-radius:8px;
    box-shadow:0 4px 12px rgba(0,0,0,0.05);
    overflow:hidden;
}

.address-card .map-wrapper {
    height:200px;
    overflow:hidden;
}

.address-card .address-details {
    padding: 25px;
}

.address-card h3 {
    font-size:1.2rem;
    font-weight:600;
    color:#202020;
    margin-bottom:15px;
}

.address-card ul {
    list-style:none;
    padding:0;
    margin:0;
    font-size:0.95rem;
    color:#555;
}

.address-card ul li {
    margin-bottom:10px;
}

.address-card ul li i {
    color:#f39b1c;
    margin-right:8px;
}

.address-card ul li a {
    color:#202020;
    text-decoration:none;
}

/* ----------------------------------------------------- */
/* ESTILOS GERAIS DE FORMULÁRIO E RESPONSIVIDADE  */
/* ----------------------------------------------------- */

/* Contêiner principal do formulário */
.contact-section { /* Nova classe para aplicar o background à seção de contato */
    padding: 60px 0;
    background-color: rgba(255, 245, 232, 0.966);
}

.contact-form-container {
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    padding: 40px;
    border: none;
    max-width: 700px;
    margin-left: 0;
    margin-right: auto;
}

/* Título "Entre em contacto" dentro do formulário */
.contact-form-title {
    font-size: 2rem;
    text-align: left;
    color: #202020;
    font-weight: bold;
    margin-bottom: 2.5rem;
    padding: 0;
}

/* Estilos para os campos de input e textarea */
.form-control {
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    padding: 12px 15px;
    box-shadow: none;
    transition: all 0.3s ease;
    background-color: #f8f9fa;
    color: #343a40;
}

.form-control::placeholder {
    color: #888e93;
    opacity: 1;
}

.form-control:focus {
    border-color: #f39b1c;
    box-shadow: 0 0 0 0.25rem rgba(243, 155, 28, 0.25);
    background-color: #ffffff;
    color: #212529;
}

/* Estilo para o botão Enviar Mensagem */
.btn-submit-message {
    border-radius: 8px;
    font-weight: 600;
    background-color: #f39b1c;
    border-color: #f39b1c;
    margin-top: 30px;
    padding: 15px 30px;
    width: 100%;
    transition: all 0.3s ease;
    font-size: 1.1rem;
    color: #ffffff;
}

.btn-submit-message:hover {
    background-color: #e68900;
    border-color: #e68900;
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(243, 155, 28, 0.3);
}

/* Responsividade Geral */
@media (max-width: 991.98px) {
    .contact-form-container {
        max-width: 600px;
        padding: 30px;
    }
}

@media (max-width: 767.98px) {
    /* Responsividade para a seção de moradas */
    .address-card {
        flex: 1 1 100%; /* Em telas menores, os cartões ocupam 100% da largura */
        max-width: 100%;
    }

    /* Responsividade para o formulário de contato */
    .contact-form-container {
        padding: 25px;
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    .contact-form-title {
        font-size: 1.8rem;
        margin-bottom: 2rem;
    }
    .section-header .section-title {
        font-size: 1.6rem;
    }
    .row.mb-4 > div {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .col-md-6.mb-3.mb-md-0 {
        margin-bottom: 1rem !important;
    }
}

.navbar {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  display: flex; /* Mantém os itens da navbar organizados em linha */
  align-items: center; /* Centraliza os itens verticalmente */
  justify-content: space-between; /* Espaça os itens horizontalmente */
  height: 100%; /* Alinha a navbar com a altura do header */
}

.hero-section {
    height: 90vh; /* Altura da seção hero */
    min-height: 600px; /* Altura mínima para garantir visibilidade */
    display: flex;
    align-items: center; /* Centraliza o conteúdo (hero-content) verticalmente */
    justify-content: flex-start; /* Alinha o conteúdo (hero-content) à esquerda */
    position: relative; /* Necessário para propriedades de fundo e posicionamento */
    overflow: hidden; /* Garante que a animação de zoom não crie barras de rolagem */
    color: white; /* Cor padrão do texto no hero (se houver) */
    box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.2); /* Sutil overlay para legibilidade */
    padding-left: -15%; /* **AQUI:** Adiciona um espaço à esquerda da hero-section.
                          Ajuste este valor (ex: 8%, 10%, 15%, 20%) para mover o logo mais para a direita,
                          dando a impressão de estar mais à esquerda da página, mas com um respiro. */
    text-align: left; /* Garante que o texto dentro da hero-section (se houver) comece à esquerda */

    /* Propriedades da imagem de fundo que estavam no HTML inline */
    background-size: cover; /* Garante que a imagem de fundo cubra a área */
    background-position: center; /* Centraliza a imagem de fundo */
    
}

/* Animação de Zoom para o Fundo (aplicada ao hero-section) */
@keyframes zoomEffect {
    0% { transform: scale(1); }
    100% { transform: scale(1.1); }
}

/* Container do Conteúdo (Logo e Slogan) */
.hero-content {
    position: relative; /* Necessário para o z-index */
    z-index: 2; /* Garante que o conteúdo fique acima de qualquer overlay */
    text-align: left; /* Alinha o texto e elementos inline-block à esquerda dentro deste container */
    max-width: 1200px; /* **AQUI:** Aumente este valor (ex: 1000px, 1200px, 1400px) para controlar o tamanho MÁXIMO do logo. */
    margin: 0; /* Remove a centralização automática para alinhar à esquerda */
    padding: 20px; /* Adicionado padding interno para respiro do conteúdo */
}

/* Estilo do Logo Grande */
.hero-logo {
    max-width: 100%; /* **AQUI:** O logo ocupará 100% da largura disponível do .hero-content.
                      Isso significa que o tamanho real do logo será ditado pelo 'max-width' de .hero-content. */
    height: auto;     /* Garante que a proporção da imagem seja mantida. */
    margin-bottom: 30px; /* Espaço abaixo do logo. Ajuste conforme necessário. */
    margin-left: 0; /* Garante que não há margem extra à esquerda para o logo. */
    animation: fadeInUp 1s ease both; /* MANTIDO: Animação de entrada do logo. */
}

/* Responsividade para a Seção Hero (Ajustes para Telas Menores) */
@media (max-width: 992px) {
    .hero-section {
        height: auto; /* Altura automática para telas menores */
        padding: 100px 20px; /* Mais padding para respiro em telas menores */
        text-align: center; /* Centraliza o texto em telas menores */
        justify-content: center; /* Centraliza o conteúdo horizontalmente em telas menores */
    }
    .hero-logo {
        max-width: 90%; /* Ajuste para caber em telas menores, ocupando 90% do pai */
        margin: 0 auto 30px; /* Centraliza o logo horizontalmente em telas menores */
    }
}
.corporate-item {
  position: relative; /* Permite posicionar elementos dentro */
  display: flex; /* Mantém a estrutura lado a lado */
  align-items: center; /* Alinha verticalmente */
  gap: 20px; /* Espaço entre imagem e texto */
}

.onsale {
  position: absolute;
  top: 5px;
  left: 5px;
  background: rgba(255, 102, 0, 0.8); /* Cor laranja suave */
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 3px 8px;
  border-radius: 3px;
}

body {
  margin-top: 20px;
  line-height: 1.7;
  color: #8c92a0;
  font-weight: 300;
  font-size: 1px;
  background: #efefef;
grid-area: 50; }

::-moz-selection {
  background: #000;
  color: #fff; }

::selection {
  background: #000;
  color: #fff; }

a {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; }
  a:hover {
    text-decoration: none; }

.text-white {
  color: #fff !important; }

.text-black {
  font-size: 20px; /* Aumente o valor conforme necessário */
  line-height: 1.6; /* Ajuste para melhor legibilidade */
  color: #000; }
  .highlight-text {
    font-size: 2rem; /* Aumente conforme necessário */
    font-weight: bold;
    color: #000; /* Ou qualquer cor desejada */
  }
.site-wrap:before {
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out;
  background: rgba(0, 0, 0, 0.6);
  content: "";
  position: absolute;
  z-index: 2000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden; }

.offcanvas-menu .site-wrap {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 2;
  overflow: hidden; }
  .offcanvas-menu .site-wrap:before {
    opacity: 1;
    visibility: visible; }

.btn {
  -webkit-transition: .3s all ease-in-out;
  -o-transition: .3s all ease-in-out;
  transition: .3s all ease-in-out;
  text-transform: uppercase;
  border-width: 2px; }
  .btn:hover, .btn:active, .btn:focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .btn.btn-primary:hover {
    background: transparent;
    color: #f39b1c; }
  .btn.btn-black {
    background: #000;
    color: #fff; }
    .btn.btn-black:hover, .btn.btn-black:active, .btn.btn-black:focus {
      background-color: #f39b1c;
      color: #000; }

.form-control {
  height: 43px; }
  .form-control:active, .form-control:focus {
    border-color: #f39b1c; }
  .form-control:hover, .form-control:active, .form-control:focus {
    -webkit-box-shadow: none !important;
    box-shadow: none !important; }

.site-section {
  padding: 2.5em 0; }
  @media (min-width: 768px) {
    .site-section {
      padding: 5em 0; } }
  .site-section.site-section-sm {
    padding: 4em 0; }

.site-section-heading {
  font-size: 30px;
  color: #25262a;
  position: relative; }
  .site-section-heading:before {
    display: none;
    content: "";
    left: 0%;
    top: 0;
    position: absolute;
    width: 40px;
    height: 2px;
    background: #f39b1c; }
  .site-section-heading.text-center:before {
    display: none;
    content: "";
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    width: 40px;
    height: 2px;
    background: #f39b1c; }

.border-top {
  border-top: 1px solid #edf0f5 !important; }

.footer-site {
  padding: 6em 0; }
  .site-footer ul li {
    margin-bottom: 10px; }
    .site-footer ul li a {
      color: #e7c896; }
      .site-footer ul li a:hover {
        color: #f39b1c; }
  .site-footer .footer-heading {
    font-size: 1rem;
    color: #000;
    margin-bottom: 1rem; }

.ul-check li {
  padding-left: 30px;
  position: relative; }
  .ul-check li:before {
    position: absolute;
    left: 0;
    top: -.4rem;
    font-size: 5px;
    content: '\e5ca';
    font-family: 'icomoon'; }

    .custom-underline {
      position: relative;
      display: inline-block;
      padding-bottom: 10px;
      margin-bottom: 20px;
      text-align: center;
    }
    
    .custom-underline::after {
      content: "";
      position: absolute;
      width: 60px; /* largura da linha */
      height: 3px; /* espessura da linha */
      background-color: #f39b1c; /* cor da linha - pode mudar */
      bottom: 0;
      left: 10.7%;
      transform: translateX(-50%);
    }

/* Navbar */
.site-logo a {
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 13px;
  color: #000 !important;
  font-weight: 900; }
  .site-logo a:hover {
    text-decoration: none; }

.icons-btn {
  display: inline-block;
  text-align: center; }
  .icons-btn span {
    display: block;
    height: 40px;
    width: 40px;
    line-height: 40px; }
    @media (max-width: 991.98px) {
      .icons-btn span {
        width: 24px; } }

.site-menu-toggle {
  display: block;
  text-align: center;
  font-size: 20px;
  height: 40px;
  width: 40px;
  line-height: 40px; }
  .site-menu-toggle > span {
    top: 5px;
    position: relative; }

.site-navbar { 
  margin-bottom: 0px;
  z-index: 1999;
  position: fixed; /* fixar no topo */
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  background: transparent; /* começa transparente */
  box-shadow: none;
  transition: background 0.4s ease, box-shadow 0.4s ease;
}
.site-navbar.scrolled {
  background: #fff; /* fundo branco ao fazer scroll */
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.site-navbar.position-relative {
  position: relative;
  background: #f9f9f9 !important;
}
.site-navbar.transparent {
  background: transparent;
}
.site-navbar .site-navbar-top {
  border-bottom: 1px solid #f3f3f4;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-bottom: 0px;
}
@media (min-width: 768px) {
  .site-navbar .site-navbar-top {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.site-navbar .site-search-icon a span {
  display: inline-block;
  margin-right: 10px;
}
.site-navbar .site-search-icon a:hover {
  text-decoration: none;
}
.site-navbar a {
  color: #000;
}
.site-navbar a:hover {
  color: #000;
}
.site-navbar .icon {
  font-size: 10px;
}
.site-navbar .site-top-icons ul, .site-navbar .site-top-icons ul li {
  padding: 0;
  margin: 0;
  list-style: none;
}
.site-navbar .site-top-icons ul li {
  display: inline-block;
}
.site-navbar .site-top-icons ul li a {
  margin-right: 10px;
}
.site-navbar .site-top-icons ul li a.site-cart {
  display: block;
  position: relative;
}
.site-navbar .site-top-icons ul li a.site-cart .count {
  position: absolute;
  top: 0;
  right: 0;
  margin-right: -15px;
  margin-top: -20px;
  font-size: 10px;
  width: 24px;
  height: 24px;
  line-height: 24px;
  border-radius: 50%;
  display: block;
  text-align: center;
  background: #f39b1c;
  color: #fff;
  -webkit-transition: .2s all ease-in-out;
  -o-transition: .2s all ease-in-out;
  transition: .2s all ease-in-out;
}
.site-navbar .site-top-icons ul li a:hover .count {
  -webkit-box-shadow: 0 3px 10px -4px a(0, 0, 0, 0.3) !important;
  box-shadow: 0 3px 10px -4px rgba(0, 0, 0, 0.3) !important;
  margin-top: -22px;
}
.site-navbar .site-top-icons ul li:last-child a {
  padding-right: 0;
}
.site-navbar .site-navigation.border-bottom {
  border-bottom: 1px solid #f3f3f4 !important;
}
.site-navbar .site-navigation .site-menu {
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 0;
}
.site-navbar .site-navigation .site-menu .active > a {
  color: #000000;
  position: relative;
}
.site-navbar .site-navigation .site-menu .active > a:before {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  height: 2px;
  background: #f39b1c;
  bottom: 0;
}
.site-navbar .site-navigation .site-menu a {
  text-decoration: none !important;
  font-size: 15px;
  display: inline-block;
}
.site-navbar .site-navigation .site-menu > li {
  display: inline-block;
  padding: 10px 5px;
}
.site-navbar .site-navigation .site-menu > li > a {
  padding: 10px 10px;
  color: #161614;
  font-size: 15px;
  text-decoration: none !important;
}
.site-navbar .site-navigation .site-menu > li > a:hover {
  color: #f39b1c;
}
.site-navbar .site-navigation .site-menu .has-children {
  position: relative;
}
.site-navbar .site-navigation .site-menu .has-children > a {
  position: relative;
  padding-right: 20px;
}
.site-navbar .site-navigation .site-menu .has-children > a:before {
  position: absolute;
  content: "\e313";
  font-size: 16px;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: 'icomoon';
}
.site-navbar .site-navigation .site-menu .has-children .dropdown {
  visibility: hidden;
  opacity: 0;
  top: 100%;
  position: absolute;
  text-align: left;
  border-top: 2px solid #f39b1c;
  -webkit-box-shadow: 0 0px 4px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0 0px 4px 0px rgba(0, 0, 0, 0.05);
  border-left: 1px solid #edf0f5;
  border-right: 1px solid #edf0f5;
  border-bottom: 1px solid #edf0f5;
  padding: 0px 0;
  margin-top: 20px;
  margin-left: 0px;
  background: #fff;
  -webkit-transition: 0.2s 0s;
  -o-transition: 0.2s 0s;
  transition: 0.2s 0s;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown a {
  font-size: 16px;
  text-transform: none;
  letter-spacing: normal;
  -webkit-transition: 0s all;
  -o-transition: 0s all;
  transition: 0s all;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown .active > a {
  color: #f39b1c !important;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li {
  list-style: none;
  padding: 0;
  margin: 0;
  min-width: 200px;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li > a {
  padding: 9px 20px;
  display: block;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li > a:hover {
  background: #f4f5f9;
  color: #25262a;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children > a:before {
  content: "\e315";
  right: 20px;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children > .dropdown, 
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children > ul {
  left: 100%;
  top: 0;
}
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children:hover > a,
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children:active > a,
.site-navbar .site-navigation .site-menu .has-children .dropdown > li.has-children:focus > a {
  background: #f4f5f9;
  color: #25262a;
}
.site-navbar .site-navigation .site-menu .has-children:hover > a,
.site-navbar .site-navigation .site-menu .has-children:focus > a,
.site-navbar .site-navigation .site-menu .has-children:active > a {
  color: #000;
}
.site-navbar .site-navigation .site-menu .has-children:hover,
.site-navbar .site-navigation .site-menu .has-children:focus,
.site-navbar .site-navigation .site-menu .has-children:active {
  cursor: pointer;
}
.site-navbar .site-navigation .site-menu .has-children:hover > .dropdown,
.site-navbar .site-navigation .site-menu .has-children:focus > .dropdown,
.site-navbar .site-navigation .site-menu .has-children:active > .dropdown {
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
  margin-top: 0px;
  visibility: visible;
  opacity: 1;
}

/* ===== Mobile Menu ===== */
.site-mobile-menu {
  width: 300px;
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2000;
  background: #fff;
  height: 100vh;
  transform: translateX(100%); /* inicia fora da tela */
  box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
  transition: transform 0.30s ease-in-out;
  will-change: transform;
}
.offcanvas-menu .site-mobile-menu {
  transform: translateX(0);
}
.offcanvas-menu {
  overflow: hidden;
}
.site-mobile-menu .site-mobile-menu-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid #f2f3f5;
}
.site-mobile-menu .site-mobile-menu-close {
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}
.site-mobile-menu .site-mobile-menu-logo a {
  display: inline-block;
  text-transform: uppercase;
  color: #000;
  letter-spacing: .1em;
  font-size: 18px;
  font-weight: 700;
}
.site-mobile-menu .site-mobile-menu-body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 18px 16px;
  height: calc(100vh - 64px);
}
.site-mobile-menu .site-nav-wrap {
  padding: 0;
  margin: 0;
  list-style: none;
}
.site-mobile-menu .site-nav-wrap a {
  padding: 12px 10px;
  display: block;
  color: #212529;
  font-size: 18px;
  text-decoration: none;
}
.site-mobile-menu .site-nav-wrap a:hover {
  color: #f39b1c;
}
.site-mobile-menu .site-nav-wrap li {
  position: relative;
}
.site-mobile-menu .site-nav-wrap .arrow-collapse {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  width: 36px;
  height: 36px;
  text-align: center;
  cursor: pointer;
  border-radius: 50%;
}
.site-mobile-menu .site-nav-wrap .arrow-collapse:before {
  font-family: "icomoon";
  content: "\e313";
  font-size: 16px;
  display: inline-block;
}
.site-mobile-menu .site-nav-wrap ul.collapse {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.35s ease;
  opacity: 0;
}
.site-mobile-menu .site-nav-wrap ul.collapse.show {
  max-height: 600px;
  opacity: 1;
}
.site-mobile-menu .site-nav-wrap > li > ul > li > a { padding-left: 26px; font-size: 16px; }
.site-mobile-menu .site-nav-wrap > li > ul > li > ul > li > a { padding-left: 46px; font-size: 16px; }

/* ============================
   PRODUTOS - CARDS E WRAPPERS
   ============================ */

/* Card do produto */
.item-v2 {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
    padding: 18px;
    transition: transform .25s ease, box-shadow .25s ease;
    width: 100%;
    position: relative; /* para selo 'Novo' */
    min-height: 1px;
}

/* Garante rodapé alinhado */
.item-v2 .mt-auto { margin-top: auto; }

/* Imagem do produto */
.product-image {
    max-height: 200px;
    object-fit: contain;
    margin-bottom: 12px;
    transition: transform 0.25s ease;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.product-image:hover { transform: scale(1.05); }

/* Descrição */
.product-description {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 10px;
    min-height: 40px;
}

/* Selo 'Novo' */
.onsale {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #f39b1c;
    color: white;
    padding: 4px 9px;
    border-radius: 3px;
    font-size: 0.78rem;
    font-weight: 700;
    z-index: 2;
}

/* Wrapper com transição suave ao expandir/colapsar */
.products-container-wrapper {
    overflow: hidden;
    transition: max-height 0.45s ease, opacity 0.35s ease;
    opacity: 1;
    will-change: max-height, opacity;
    margin-top: 1rem;
    margin-bottom: 1.5rem;
}

.products-container-wrapper.hidden-products {
    max-height: 0 !important;
    opacity: 0 !important;
    pointer-events: none;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Grid flexível */
.products-grid {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0;
    margin-bottom: 0;
}

/* Espaçamento entre cards (se Bootstrap não estiver a controlar) */
.products-grid .col-sm-6.col-lg-4.d-flex.align-items-stretch.mb-4 {
    margin-bottom: 24px;
}

/* Botões Ver Todos / Ver Menos */
.btn-control-container {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 40px;
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.btn-control-container.hidden-btn {
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
}

/* Botão primário Orbis */
.btn-primary-orbis {
    background: #f39b1c;
    color: #fff;
    padding: 10px 20px;
    border-radius: 6px;
    text-transform: uppercase;
    font-weight: 700;
    border: none;
    cursor: pointer;
}

/* Responsividade: ajustar imagens / paddings */
@media (max-width: 768px) {
    .product-image { max-height: 150px; }
    .product-description { font-size: 0.85rem; min-height: 34px; }
    .item-v2 { padding: 14px; }
    .site-mobile-menu .site-nav-wrap a { font-size: 18px; }
}

/* Blocks */
.site-wrap {
  max-width: 2000px;
  margin: 0 auto;
  background: #fff;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }

.site-blocks-cover {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative; }
  .site-blocks-cover, .site-blocks-cover > .container > .row {
    min-height: 700px;
    height: calc(80vh); }
  .site-blocks-cover.inner-page, .site-blocks-cover.inner-page .row {
    min-height: 400px;
    height: 700px; }
  .site-blocks-cover h2 {
    font-size: 14px;
    font-weight: normal;
    color: #000;
    letter-spacing: .2em;
    text-transform: uppercase; }
  @media (max-width: 991.98px) {
    .site-blocks-cover .featured-hero-product {
      margin-top: 10%;
      position: absolute; } }
  .site-blocks-cover h1 {
    font-size: 40px;
    font-weight: 900;
    color: #000000;
    margin-bottom: 30px; }
    @media (min-width: 768px) {
      .site-blocks-cover h1 {
        font-size: 70px; } }
  .site-blocks-cover p {
    color: #000000;
    font-size: 30px;
    font-weight: 500;
    line-height: 35px; }
  .site-blocks-cover .intro-text {
    font-size: 16px;
    color: #000000;
    line-height: 1.5; }
  .site-blocks-cover.inner-page .site-block-cover-content {
    margin-top: 10%;
    text-align: center; }
    @media (min-width: 768px) {
      .site-blocks-cover.inner-page .site-block-cover-content {
        margin-top: 30%; } }
  .site-blocks-cover .sub-title {
    color: #080808; }
    .site-block-cover-content h1 {
      text-align: left;
    }
    
    .site-block-cover-content p {
      text-align: left;
      font-size: 24px;
    }
    
  @media (max-width: 991.98px) {
    .site-blocks-cover .img-1 {
      max-width: 400px;
      margin-left: auto;
      margin-right: auto; } }
  .site-blocks-cover .btn {
    padding: 15px 25px;
    background: #fff;
    border-color: #fff;
    color: #da7d13;
    letter-spacing: .2rem;
    font-size: 14px;
    font-weight: bold; }
    .site-blocks-cover .btn:hover {
      background: transparent;
      color: #fff; }
  .site-blocks-cover.overlay {
    position: relative; }
    .site-blocks-cover.overlay:before {
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.2); }

.site-blocks-1 {
  border-bottom: 1px solid #edf0f5; }
  .site-blocks-1 .divider {
    position: relative; }
    .site-blocks-1 .divider:after {
      content: "";
      position: absolute;
      height: 100%;
      width: 1px;
      right: 10px;
      background: #edf0f5; }
    .site-blocks-1 .divider:last-child:after {
      display: none; }
  .site-blocks-1 .icon span {
    position: relative;
    color: #6c757d;
    top: -10px;
    font-size: 40px;
    display: inline-block; }
  .site-blocks-1 .text h2 {
    color: #25262a;
    letter-spacing: .05em;
    font-size: 18px; }
  .site-blocks-1 .text p:last-child {
    margin-bottom: 0; }

.site-blocks-2 .block-2-item {
  display: block;
  position: relative; }
  .site-blocks-2 .block-2-item:before {
    z-index: 1;
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: -moz-linear-gradient(top, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
    background: -webkit-linear-gradient(top, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(18%, transparent), color-stop(99%, rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0.8)));
    background: -o-linear-gradient(top, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
    background: linear-gradient(to bottom, transparent 0%, transparent 18%, rgba(0, 0, 0, 0.8) 99%, rgba(0, 0, 0, 0.8) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#cc000000',GradientType=0 ); }
  .site-blocks-2 .block-2-item .image {
    position: relative;
    margin-bottom: 0;
    overflow: hidden; }
    .site-blocks-2 .block-2-item .image img {
      margin-bottom: 0;
      -webkit-transition: .3s all ease-in-out;
      -o-transition: .3s all ease-in-out;
      transition: .3s all ease-in-out; }
  .site-blocks-2 .block-2-item .text {
    z-index: 2;
    bottom: 0;
    padding-left: 20px;
    position: absolute;
    width: 100%; }
    .site-blocks-2 .block-2-item .text > span, .site-blocks-2 .block-2-item .text h3 {
      color: #fff; }
    .site-blocks-2 .block-2-item .text > span {
      font-size: 12px;
      letter-spacing: .1em;
      font-weight: 900; }
    .site-blocks-2 .block-2-item .text h3 {
      font-size: 40px; }
  .site-blocks-2 .block-2-item:hover .image img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }

.block-3 .no-direction .owl-nav {
  display: none; }

.block-3 .owl-stage {
  padding-top: 40px;
  padding-bottom: 40px; }

.block-3 .owl-nav .owl-prev, .block-3 .owl-nav .owl-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 2rem; }

.block-3 .owl-nav .owl-prev {
  left: 0; }

.block-3 .owl-nav .owl-next {
  right: 0; }

.block-3 .owl-dots {
  text-align: center; }
  .block-3 .owl-dots .owl-dot {
    display: inline-block; }
    .block-3 .owl-dots .owl-dot > span {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      display: inline-block;
      margin: 5px;
      background: #ccc; }
    .block-3 .owl-dots .owl-dot.active > span {
      background: #f39b1c; }

.block-3 .product {
  border-right: none !important;
  border-left: none !important; }
  .block-3 .product .item {
    border: 1px solid #eee; }

.block-4 {
  -webkit-box-shadow: 0 0 30px -10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 30px -10px rgba(0, 0, 0, 0.1);
  background: #fff; }
  .block-4 .block-4-text h3 {
    font-size: 20px;
    margin-bottom: 0; }
    .block-4 .block-4-text h3 a {
      text-decoration: none; }

.block-5 ul, .block-5 ul li {
  list-style: none;
  padding: 0;
  margin: 0;
  line-height: 1.5; }

.block-5 ul li {
  padding-left: 30px;
  position: relative;
  margin-bottom: 15px;
  color: #25262a; }
  .block-5 ul li:before {
    top: 0;
    font-family: "icomoon";
    content: "";
    position: absolute;
    left: 0;
    font-size: 20px;
    line-height: 1;
    color: #f39b1c; }
  .block-5 ul li.address:before {
    content: "\e8b4"; }
  .block-5 ul li.email:before {
    content: "\f0e0"; }
  .block-5 ul li.phone:before {
    content: "\f095"; }

.block-6 {
  display: block; }
  .block-6 img {
    display: block; }
  .block-6 h3 {
    font-size: 18px; }
  .block-6 p {
    color: #8a8373; }

.block-7 .form-group {
  position: relative; }

.block-7 .form-control {
  padding-right: 96px; }

.block-7 .btn {
  position: absolute;
  width: 80px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 3px; }

.block-8 .post-meta {
  color: #c4c7ce; }

.block-8 .block-8-sep {
  margin-left: 10px;
  margin-right: 10px; }

.site-blocks-table {
  overflow: auto; }
  .site-blocks-table .product-thumbnail {
    width: 200px; }
  .site-blocks-table thead th {
    padding: 30px;
    text-align: center;
    border-width: 1px !important;
    vertical-align: middle;
    color: #212529;
    font-size: 20px;
    font-weight: normal; }
  .site-blocks-table td {
    padding: 20px;
    text-align: center;
    vertical-align: middle;
    color: #212529; }
  .site-blocks-table tbody tr:first-child td {
    border-top: 1px solid #f39b1c !important; }

.site-block-order-table th {
  border-top: none !important;
  border-bottom-width: 1px !important; }

.site-block-order-table td, .site-block-order-table th {
  color: #000; }

.site-block-top-search {
  position: relative; }
  .site-block-top-search .icon {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .site-block-top-search input {
    padding-left: 40px;
    -webkit-transition: .3s all ease-in-out;
    -o-transition: .3s all ease-in-out;
    transition: .3s all ease-in-out; }
    .site-block-top-search input:focus, .site-block-top-search input:active {
      padding-left: 25px; }

.site-block-27 ul, .site-block-27 ul li {
  padding: 0;
  margin: 0; }

.site-block-27 ul li {
  display: inline-block;
  margin-bottom: 4px; }
  .site-block-27 ul li a, .site-block-27 ul li span {
    text-align: center;
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: large;
    border-radius: 100%;
    border: 1px solid #eee;
    color: #000; }
  .site-block-27 ul li.active a, .site-block-27 ul li.active span {
    background: #343a40;
    color: #fff;
    border: 1px solid transparent; }

#slider-range {
  height: 8px; }
  #slider-range .ui-slider-handle {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: none !important;
    background: #f39b1c; }
    #slider-range .ui-slider-handle:focus, #slider-range .ui-slider-handle:active {
      outline: none; }
  #slider-range .ui-slider-range {
    background-color: #f39b1c; }

.color-item .color {
  width: 14px;
  height: 14px; }

.block-16 figure {
  position: relative; }
  .block-16 figure .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 40px;
    width: 90px;
    height: 90px;
    background: #fff;
    display: block;
    border-radius: 50%;
    border: none; }
    .block-16 figure .play-button:hover {
      opacity: 1; }
    .block-16 figure .play-button > span {
      position: absolute;
      left: 55%;
      top: 50%;
      -webkit-transform: translate(-50%, -45%);
      -ms-transform: translate(-50%, -45%);
      transform: translate(-50%, -45%); }

.block-38 .block-38-header .block-38-heading {
  color: #000;
  margin: 0;
  font-weight: 300;
  font-size: 30px; }

.block-38 .block-38-header .block-38-subheading {
  color: #b3b3b3;
  margin: 0 0 20px 0;
  letter-spacing: .1em; }

.block-38 .block-38-header img {
  width: 120px;
  border-radius: 50%;
  margin-bottom: 20px; }

.bag {
  position: relative; }
  .bag .number {
    position: absolute;
    top: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    line-height: 20px;
    color: #fff;
    font-size: 20px;
    background: #f39b1c;
    right: -5px; }

.search-wrap {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .5s all ease;
  -o-transition: .5s all ease;
  transition: .5s all ease; }
  .search-wrap .container {
    position: relative;
    height: 100%; }
  .search-wrap.active {
    opacity: 1;
    visibility: visible; }
  .search-wrap .form-control {
    position: absolute;
    top: 50%;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border: none;
    z-index: 3;
    font-size: 20px; }
    @media (max-width: 991.98px) {
      .search-wrap .form-control {
        font-size: 20px; } }
  .search-wrap .search-close {
    z-index: 4;
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .search-wrap .search-close span {
      font-size: 30px; }

.title-section.text-center h2:before {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 70px;
  height: 4px;
  background: #f39b1c;
  content: ""; }

.product-item {
  overflow: hidden;
  height: 100%;
  position: relative; }
  .product-item .product-category {
    position: absolute;
    display: inline-block;
    padding: 10px 30px;
    background: #fff;
    color: #000;
    z-index: 8;
    top: 60%;
    left: 50%;
    font-size: 20px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    .product-item .product-category span {
      color: #ced4da;
      font-size: 12px; }
    .product-item .product-category:hover {
      background: #000;
      color: #fff; }
      .product-item .product-category:hover span {
        color: rgba(255, 255, 255, 0.5); }
  .product-item.full-height {
    height: 100% !important; } 
    @media (max-width: 991.98px) {
      .product-item.full-height {
        height: 300px !important;
        margin-bottom: 30px; } }
  .product-item.bg-gray {
    background: #f9f9f9; }
  .product-item.sm-height {
    height: 300px;
    padding: 40px; }
  .product-item.md-height {
    height: 700px;
    padding: 40px; }
  .product-item img {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0.7);
    -ms-transform: translate(-50%, -50%) scale(0.7);
    transform: translate(-50%, -50%) scale(0.7);
    position: absolute; }

.item-entry .product-item {
  margin-bottom: 30px; }

.item-entry .item-title {
  font-size: 18px;
  font-weight: normal;
  margin-bottom: 0; }
  .item-entry .item-title a {
    color: gray; }
    .item-entry .item-title a:hover {
      color: #000; }

.item-entry .item-price {
  color: #000;
  font-weight: normal; }
  .item-entry .item-price del {
    color: #b3b3b3; }

.custom-border-bottom {
  border-bottom: 1px solid #f9f9f9; }

.custom-border-top {
  border-top: 1px solid #f9f9f9; }

.height-auto {
  height: auto !important; }

.featured-hero-product {
  text-align: center; }
  .featured-hero-product h1, .featured-hero-product h4 {
    color: #000; }
  .featured-hero-product h1 {
    font-size: 4rem;
    letter-spacing: 1rem; }
    @media (max-width: 991.98px) {
      .featured-hero-product h1 {
        font-size: 2rem; } }
  .featured-hero-product h4 {
    font-size: 1rem; }
  .featured-hero-product .price {
    font-size: 2rem;
    color: #000; }
    @media (max-width: 991.98px) {
      .featured-hero-product .price {
        font-size: 1.5rem; } }
    .featured-hero-product .price del {
      margin-left: 10px;
      color: #7d766c; }

.border {
  border: 1px solid #eee !important; }
  .border a {
    display: block;
    padding: 30px; }

.item h3 a {
  color: #000; }

.item .price {
  color: #000; }

.tag {
  position: absolute;
  background: #e86b00;
  color: #fff;
  letter-spacing: .2em;
  padding: 7px 20px;
  font-size: .8rem;
  font-weight: 900;
  top: 0;
  left: 0;
  text-transform: uppercase;
  z-index: 2;
  -webkit-transform: rotate(-90deg) translateX(-100%) translateY(-70%);
  -ms-transform: rotate(-90deg) translateX(-100%) translateY(-70%);
  transform: rotate(-90deg) translateX(-100%) translateY(-70%); }



.title-section h2 {
  font-size: 24px;
  text-align: left;
  color: #333;
  font-weight: bold;
  margin-bottom: 30px;
}


/* Responsividade para telas menores */
@media (max-width: 768px) {
  .corporate-item {
    flex-direction: column;
    text-align: center;
  }
  
  .corporate-item img {
    width: 100%;
    max-width: 300px;
    margin-bottom: 20px;
  }
}
.bg-image {
  background-size: cover;
  position: relative; }
  .bg-image.overlay {
    position: relative; }
    .bg-image.overlay:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(243, 187, 32, 0.8);
      z-index: 1; }
  .bg-image > .container {
    position: relative;
    z-index: 2; }

.section-overlap {
  margin-top: -150px; }

.custom-pill .nav-item {
  margin-right: 4px; }
  .custom-pill .nav-item a {
    background: #f4f4f4;
    color: #000; }
    .custom-pill .nav-item a.active {
      color: #fff !important; }

      .navbar-brand img {
        width: 200px; /* Ajuste conforme necessário */
      }
.custom-table th {
  color: #000;
  font-weight: normal; }

.custom-table td {
  color: #000; }

.feature h3 {
  font-size: 20px;
  color: #000;
  font-weight: 400; }

.feature .wrap-icon {
  font-size: 40px;
  line-height: 70px;
  margin-bottom: 20px;
  width: 70px;
  height: 70px;
  display: block;
  text-align: center;
  background: rgba(117, 178, 57, 0.1);
  color: #f39b1c;
  border-radius: 40%; }

.bg-primary-light {
  background: rgba(117, 178, 57, 0.1) !important; }

.owl-single .owl-nav {
  position: absolute;
  bottom: 0;
  right: 0; }
  .owl-single .owl-nav .owl-prev {
    border-bottom: 1px solid #efefef; }
  .owl-single .owl-nav .owl-prev, .owl-single .owl-nav .owl-next {
    text-align: center;
    line-height: 50px;
    width: 70px;
    height: 50px;
    display: block;
    background: #fff;
    font-size: 24px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; }
    .owl-single .owl-nav .owl-prev:hover, .owl-single .owl-nav .owl-next:hover {
      color: #fff;
      background: #f39b1c; }

      .item-v2 {
        overflow: hidden;
        background: #fff;
        position: relative;
    }
    
    .item-v2 .onsale {
        position: absolute;
        transform: rotate(43deg);
        transform-origin: 39px 36px;
        top: 0;
        left: 0;
        color: #fff;
        background: #f39b1c;
        font-size: 10px;
        padding: 4px 20px;
        text-transform: uppercase;
    }
.item-v2 {
  overflow: hidden;
  background: #fff;
  position: relative; }
  .item-v2 .onsale {
    position: absolute;
    -webkit-transform: rotate(43deg);
    -ms-transform: rotate(43deg);
    transform: rotate(43deg);
    -webkit-transform-origin: 39px 36px;
    -ms-transform-origin: 39px 36px;
    transform-origin: 39px 36px;
    top: 0;
    right: 0;
    left: unset;
    color: #fff;
    background: #f39b1c;
    font-size: 10px;
    padding: 4px 20px;
    text-transform: uppercase; }

    @media (max-width: 840px) {
      .clients .client-logo img {
        padding: 20px;
      }
    }

    /* Estilo geral do footer */
.footer-container {
  padding: 60px 5px;
  background-color: #f8f9fa; /* Cor de fundo */
  color: #333; /* Cor do texto */
  font-family: Montserrat, sans-serif;
}

/* Estrutura das colunas do footer */
.footer-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px; /* Espaçamento entre colunas */
}

.footer-column {
  flex: 1;
  min-width: 200px;
  max-width: 300px;
  margin: 10px 0;
}

/* Estilo dos títulos */
.footer-column h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #000;

}


/* Estilo do footer inferior */
.footer-bottom {
  margin-top: 2px;
  padding-top: 1px;
  border-top: 1px solid #ddd;
  font-size: 14px;
  color: #555;
  font-size: medium;
}

.footer-bottom a {
  text-decoration: none;
  color: #007bff;
  font-size: medium;
}

.footer-bottom a:hover {
  color: #f39b1c;
}

/* Ajuste para telas menores */
@media (max-width: 768px) {
  .footer-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-column {
    max-width: 100%;
  }


section {
  margin-top: 50px;
  padding: 50px;
  
}

.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background-color: var(--accent-color);
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}

.scroll-top i {
  font-size: 24px;
  color: var(--contrast-color);
  line-height: 0;
}

.scroll-top:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 0%);
  color: var(--contrast-color);
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
}
#Parceiros {
  padding-bottom: 0px;
}
.sobre-preto {
  color: #000000; /* Cor do texto */
}

/*--------------------------------------------------------------
# Scroll Top Button
--------------------------------------------------------------*/
.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background-color: var(--accent-color);
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}

.scroll-top i {
  font-size: 24px;
  color: var(--contrast-color);
  line-height: 0;
}

.scroll-top:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 0%);
  color: var(--contrast-color);
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

  .logo-parceiro {
    width: 5100px; /* Ajuste a largura conforme necessário */
    height: auto; /* Mantém a proporção da imagem */
    margin: 100px auto; /* Centraliza a imagem */
    display: block; /* Garante que as imagens sejam tratadas como blocos */
  }
  
  /* Estilização específica para a seção */
  .clients.section {
    padding: 80px 0;
    background-color: #f9f9f9; /* Cor de fundo clara */
  }
  
  .client-logo {
    text-align: center; /* Centraliza as imagens dentro das colunas */
  }

.site-section {
  padding: 2.5em 0; }
  @media (min-width: 768px) {
    .site-section {
      padding: 5em 0; } }
  .site-section.site-section-sm {
    padding: 4em 0; }

.site-section-heading {
  font-size: 30px;
  color: #25262a;
  position: relative; }
  .site-section-heading:before {
    display: none;
    content: "";
    left: 0%;
    top: 0;
    position: absolute;
    width: 40px;
    height: 2px;
    background: #f39b1c; }
  .site-section-heading.text-center:before {
    display: none;
    content: "";
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    width: 40px;
    height: 2px;
    background: #f39b1c; }


/* Estilo do fundo da seção */
.page-header-img {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('/apps/frontend/public/static/img/dev/header-articles-desktop.jpg');
  background-position: center;
  background-size: cover;
  border-top-right-radius: 50px;
}

@media (max-width: 1380px) {
  .header-background {
      background-size: auto 380px;
  }
}
.header-background {
  background: url(../img/bg-yellow.svg) no-repeat;
  background-size: auto 624px;
  background-position: 755px 89px;
}
* {
  box-sizing: border-box;
}
folha de estilos de agente de usuário
div {
  display: block;
  unicode-bidi: isolate;
}
header, main, menu, nav, section {
  display: block;
}

* {
  box-sizing: border-box;
}

/*-------------------------------------
        6. Produtos
--------------------------------------*/
.site-section {
  background: #f8f9fb;
  padding: 60px 0 80px;
}
.products-wrap {
  padding-top: 50px;
}
.produto-item {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin-bottom: 30px;
}
.produto-item img {
  width: 50%;
  border-radius: 8px 0 0 8px;
}
.produto-info {
  padding: 30px;
  flex: 1;
}
.produto-info h2 {
  font-size: 26px;
  font-weight: 500;
  margin-bottom: 15px;
}
.produto-info p {
  font-size: 16px;
  color: #6a7781;
}
.produto-info .produto-btn {
  display: inline-block;
  padding: 10px 30px;
  background: #f39b1c;
  color: #fff;
  border-radius: 5px;
  margin-top: 20px;
  text-transform: uppercase;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
}
.produto-info .produto-btn:hover {
  background: #d88210;
}

/* Owl Carousel adjustments */
.owl-carousel .owl-dots {
  text-align: center;
  margin-top: 30px;
}
.owl-carousel .owl-dots .owl-dot span {
  width: 8px;
  height: 8px;
  margin: 0 4px;
  background: transparent;
  border: 1px solid #6a7781;
  border-radius: 50%;
}
.owl-carousel .owl-dots .owl-dot.active span,
.owl-carousel .owl-dots .owl-dot:hover span {
  background: #6a7781;
}

.text-white {
  color: #fff !important; }

.text-black {
  color: #000; }
  /* Estilo Geral da Seção */
.site-section.bg-light {
  padding: 100px 0;
  background-color: #f8f9fa; /* Fundo claro */
}

.site-section .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px;
}

/* Estilo das Colunas */
.site-section .row {
  display: flex;
  flex-wrap: wrap;
  gap: 30px; /* Espaçamento entre as colunas */
  justify-content: center;
}

.site-section .col-md-6 {
  flex: 1 1 calc(33.333% - 30px); /* 3 colunas com espaçamento */
  max-width: calc(33.333% - 30px);
  background: #fff;
  border-radius: 10px;
  padding: 30px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.site-section .col-md-6:hover {
  transform: translateY(-10px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Estilo dos Ícones */
.site-section .icon {
  font-size: 2.5rem;
  color: #f39b1c; /* Cor laranja para os ícones */
  margin-bottom: 20px;
}

/* Estilo do Texto */
.site-section .text-black h2 {
  font-size: 1.8rem;
  color: #2c3e50; /* Cor escura para o título */
  margin-bottom: 15px;
}

.site-section .text-black p {
  font-size: 1rem;
  color: #6a7781; /* Cor cinza para o texto */
  line-height: 1.6;
}

/* Responsividade */
@media (max-width: 768px) {
  .site-section .col-md-6 {
    flex: 1 1 100%; /* Uma coluna em telas menores */
    max-width: 100%;
  }

  .site-section .icon {
    font-size: 2rem;
  }

  .site-section .text-black h2 {
    font-size: 1.5rem;
  }

  .site-section .text-black p {
    font-size: 0.9rem;
  }
}

/* Navbar fixa ao rolar */
.site-navbar {
  position: fixed;
  top: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  transition: all 0.3s ease-in-out;
  z-index: 1000;
  padding: 15px 0;
}

/* Menu Desktop */
.site-menu {
  display: flex;
  list-style: none;
  gap: 20px;
}

.site-menu li a {
  text-decoration: none;
  font-size: 16px;
  color: #333;
  transition: color 0.3s ease-in-out;
}

.site-menu li a:hover {
  color: #f39b1c;
}

/* Dropdown */
.has-children {
  position: relative;
}

.has-children .dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  list-style: none;
  padding: 10px;
  display: none;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.3s ease-in-out;
}

.has-children:hover .dropdown {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

/* Menu Mobile */
.menu-toggle {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  display: none;
}

@media (max-width: 992px) {
  .menu-toggle {
    display: block;
  }

  .main-nav {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: white;
    padding: 15px;
    display: none;
    opacity: 0;
    transition: all 0.3s ease-in-out;
  }

  .main-nav.active {
    display: block;
    opacity: 1;
  }
}

/* Botão de Idioma */
.language-button {
    background: #f39b1c; /* Laranja principal */
    color: white;
    border: none;
    padding: 8px 15px; /* Padding original mantido */
    cursor: pointer;
    font-weight: 600; /* Adicionado para consistência com outros botões */
    text-transform: uppercase; /* Adicionado para consistência com outros botões */
    border-radius: 5px; /* Adicionado um border-radius sutil */
    font-size: 0.9rem; /* Mantido, mas pode ser ajustado se quiser maior */

    /* Propriedades para o efeito 3D e traço inferior */
    position: relative; /* Essencial para o ::after */
    overflow: hidden; /* Garante que o ::after fique dentro do botão */
    z-index: 1; /* Garante que o conteúdo do botão fique acima do ::after */
    transition: all 0.3s ease; /* Transição suave para hover e active */
    display: inline-block; /* Para garantir que as propriedades de width e padding funcionem bem */
    text-decoration: none; /* Remover sublinhado se for um link */
    white-space: nowrap; /* Evita que o texto quebre em várias linhas */
}

.language-button:hover {
    background-color: #e68900; /* Laranja mais escuro no hover (agora diferente do normal) */
    border-color: #e68900; /* Borda da mesma cor no hover */
    transform: translateY(-3px); /* Pequeno efeito de levantamento */
    box-shadow: 0 6px 12px rgba(243, 155, 28, 0.3); /* Sombra mais pronunciada no hover */
}

/* Efeito active (quando clicado) */
.language-button:active {
    background-color: #cc7a17; /* Laranja ainda mais escuro no active */
    transform: translateY(1px); /* Pequeno efeito de "pressionado" */
    box-shadow: none; /* Remove a sombra quando pressionado */
}

/* Traço laranja por baixo do botão (efeito 3D) */
.language-button::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px; /* Altura do traço */
    background: #e08b1a; /* Laranja do traço */
    transform: scaleX(1); /* Inicia visível */
    transform-origin: bottom right;
    transition: transform 0.3s ease-out;
    z-index: 0; /* Garante que o traço fique atrás do conteúdo */
}

.language-button:hover::after {
    transform: scaleX(0); /* Esconde o traço no hover */
    transform-origin: bottom left;
}
/*
    ======================================
    === 10. BOTÃO DO WHATSAPP ==========
    ======================================
    Estilos para o botão flutuante do WhatsApp.
*/

.whatsapp-float:hover {
    transform: scale(1.1);
}

/* Adicione esta regra ao seu ficheiro style.css */
.brand-section {
    display: none;
}