/* =========================
   GLOBAL MOBILE CSS
   ========================= */
html {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

   
body {
  margin: 0;
  padding: 0;
  font-family: 'Roboto', sans-serif;
  background: #fff;
  color: #333;
}

/* =========================
   TOPO FIXO - Mobile
   ========================= */

#topo-fixo-mobile {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: white;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* =========================
   SETOR 1 - Mobile
   ========================= */
#setor1_mobile {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: white;
}

#setor1_mobile h1 {
  font-size: 1.5rem;
  font-weight: 700;
}

/* =========================
   SETOR 2 - Mobile
   (CSS isolado em setor2_mobile.css)
   ========================= */

#setor2_mobile {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  position: relative;
  top: 40px; /* corrigido conforme altura real do setor1 */
  left: 0;
  width: 100%;
  z-index: 1;
  background-color: white;
}

.search-box {
  position: relative !important;
  z-index: 10000 !important;
  overflow: visible !important;
}

.search-box input {
  width: 100%;
  padding: 8px;
  font-size: 16px;
}

/* Estilo do botão de busca */
.search-button {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
}

/* Container das sugestões */
.sugestoes-container {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  z-index: 9999;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border-top: none;
  max-height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
  padding: 0;
  margin: 0;
  display: block;
}

/* Estilo da barra de rolagem */
.sugestoes-container::-webkit-scrollbar {
  width: 6px;
}

.sugestoes-container::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 3px;
}

.sugestao {
  display: block;
  padding: 10px;
  font-size: 14px;
  border-bottom: 1px solid #eee;
  background-color: white;
  cursor: pointer;
  white-space: nowrap;
  margin: 0;
}

.sugestao:last-child {
  border-bottom: none;
}

.sugestao:hover {
  background-color: #f5f5f5;
}

#sugestoes {
  position: absolute;
  top: calc(100% + 6px); /* ligeiramente abaixo da caixa de busca */
  left: 0;
  right: 0;
  z-index: 9999;
  max-height: 220px;
  overflow-y: auto;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
  scrollbar-width: thin;
  scrollbar-color: #ccc transparent;
}

/* Suporte para navegadores WebKit */
#sugestoes::-webkit-scrollbar {
  width: 6px;
}

#sugestoes::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 3px;
}




/* =========================
   SETOR 3 - Mobile
   ========================= */
#setor3_mobile {
  position: fixed;
  top: 106px; /* 40 (s1) + 66 (s2) */
  left: 0;
  width: 100%;
  z-index: 1;
  background-color: #f1f1f1;
  padding: 10px 0;
}


.container-setor3-mobile {
  display: flex;
  justify-content: center;
}
.menu-mobile {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.menu-mobile a {
  text-decoration: none;
  color: #fff;
  background-color: #004080;
  padding: 8px 16px;
  border-radius: 25px;
  font-size: 14px;
  transition: background-color 0.3s ease;
}
.menu-mobile a:hover {
  background-color: #0066cc;
}

/* =========================
   CONTEÚDO CENTRAL - Galeria
   ========================= */
.pagina-centralizada {
  padding: 20px 10px;
}
.galeria-mobile {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.galeria-mobile a {
  display: block;
  width: 100%;
}
.galeria-mobile img {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}
.galeria-mobile img:hover {
  transform: scale(1.03);
}

/* =========================
   SETOR 11 - Mobile (Rodapé)
   ========================= */
#setor11_mobile {
  background-color: #333;
  color: #fff;
  padding: 10px 10px;
  font-size: 14px;
}
.setor11m-container {
  max-width: 600px;
  margin: 0 auto;
}
.setor11m-columns {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
  flex-wrap: wrap;
  text-align: center;
}
.setor11m-col {
  min-width: 120px;
  max-width: 200px;
}
.setor11m-col h3 {
  color: #f58634;
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 10px;
  text-align: center;
}
.setor11m-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.setor11m-col ul li {
  text-align: center;
}
.setor11m-col ul li a {
  color: #fff;
  text-decoration: none;
}
.setor11m-footer {
  border-top: 1px solid #555;
  margin-top: 20px;
  padding-top: 10px;
  text-align: center;
}
.setor11m-footer p {
  margin: 5px 0;
  font-size: 12px;
}

/* ========== TOPO FIXO UNIFICADO (SETOR 1, 2 e 3) ========== */
#topo-fixo-mobile {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: white;
}
#topo-fixo-mobile > div {
  width: 100%;
}

/* Conteúdo central deve respeitar a altura somada do topo fixo */
#central_mobile {
  padding-top: 202px; /* altura real: 40 (s1) + 66 (s2) + ~70 (s3 com margem segura) */
}
/* ========== Estilo do TÍTULO LARANJA CENTRALIZADO ========== */
.titulo-laranja {
  color: #f58634;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
}

/* ========== Estilo da TABELA de preços mobile ========== */
.tabela-precos {
  width: 100%;
  max-width: 600px;
  margin: 20px auto;
  border-collapse: collapse;
  font-size: 14px;
}
.tabela-precos th, .tabela-precos td {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: center;
}
.tabela-precos th {
  background-color: #f58634;
  color: white;
}

/* ========== Miniaturas simples (sem modal) ========== */
.miniaturas-galeria {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 20px;
}
.miniaturas-galeria img {
  width: 100%;
  border-radius: 6px;
  box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

/* ========== Estilo do FORMULÁRIO MOBILE ========== */
.formulario-orcamento {
  max-width: 600px;
  margin: 30px auto;
  padding: 10px;
  border-top: 2px solid #f58634;
}
.formulario-orcamento label {
  display: block;
  font-weight: 600;
  margin-top: 15px;
}
.formulario-orcamento input,
.formulario-orcamento textarea,
.formulario-orcamento select {
  width: 100%;
  padding: 8px;
  font-size: 14px;
  margin-top: 5px;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
}
.formulario-orcamento button {
  margin-top: 20px;
  background-color: #004080;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  font-weight: 600;
}
.formulario-orcamento button:hover {
  background-color: #0066cc;
}


/* ============================
   ESTILOS ADICIONAIS PARA PÁGINAS INTERNAS
============================ */

/* Título principal da página interna */
h1.titulo-economico {
  font-size: 22px;
  text-align: center;
  color: #f58634;
  margin: 15px 0;
  font-weight: 700;
  font-family: 'Roboto', sans-serif;
}

/* Imagem principal */
.imagem-principal {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
  margin: 0 auto 20px auto;
}

/* Tabela de preços */
.tabela-preco {
  max-width: 600px;
  margin: 0 auto 30px auto;
  width: 100%;
  border-collapse: collapse;
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
}

.tabela-preco th,
.tabela-preco td {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: center;
}

.tabela-preco th {
  background-color: #f58634;
  color: white;
}

/* Detalhes do produto */
.detalhes {
  max-width: 600px;
  margin: 0 auto 25px auto;
  padding: 0 10px;
  font-size: 15px;
  color: #333;
  font-family: 'Roboto', sans-serif;
}



/* Formulário */

#formulario-mobile {
  max-width: 600px;
  margin: 0 auto;
  font-family: 'Roboto', sans-serif;
}

#formulario-mobile .form-group {
  margin-bottom: 15px;
}

#formulario-mobile label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 15px;
}

#formulario-mobile input,
#formulario-mobile textarea {
  width: 100%;
  padding: 8px 10px;
  font-size: 14px;
  border: 1px solid #f58634; /* borda laranja */
  border-radius: 4px;
  box-sizing: border-box;
  font-family: 'Roboto', sans-serif;
}

#formulario-mobile .form-botoes {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 20px;
}

#formulario-mobile button {
  width: 48%;
  padding: 10px;
  font-size: 15px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-family: 'Roboto', sans-serif;
}

/* Botão Enviar */
#formulario-mobile button[type="submit"] {
  background-color: #f58634;
  color: white;
}

/* Botão Limpar */
#formulario-mobile button[type="reset"] {
  background-color: #e0e0e0;
  color: #222;
}

#formulario-mobile button[type="submit"]:hover {
  background-color: #e27627;
}

#formulario-mobile button[type="reset"]:hover {
  background-color: #d5d5d5;
}
