/* =================== Reset Básico =================== */
* { margin: 0; padding: 0; box-sizing: border-box; }

/* =================== Variáveis úteis =================== */
:root{
  /* Largura visual (moldura) do slider e do contato no rodapé */
  --rodape-card-max: 920px;  /* ajuste fino: 880 ~ 980px conforme preferir */
}

/* =================== Base =================== */
body {
  font-family: 'Arial', sans-serif;
  line-height: 1.6;
  color: #333;
  background-color: #f4f4f4;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* =================== Cabeçalho =================== */
header {
  background-color: #2e7031;
  color: #fff;
  padding: 30px 20px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
header img { height: 90px; object-fit: contain; }
header h1 { margin: 0; font-size: 2.5em; letter-spacing: 1px; }
header h2 { margin: 8px 0 0; font-size: 1.3em; font-weight: normal; color: #e0e0e0; }

/* =================== Navegação =================== */
nav {
  background-color: #004d1a;
  padding: 15px 0;
  width: 100%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
nav ul {
  display: flex;
  justify-content: center;
  gap: 35px;
  list-style: none;
  font-size: 1.1em;
}
nav ul li { position: relative; }
nav ul li a {
  color: #fff;
  text-decoration: none;
  padding: 8px 12px;
  transition: color .3s ease, background-color .3s ease;
  border-radius: 4px;
}
nav ul li a:hover, nav ul li a:focus {
  color: #FFD700;
  background-color: rgba(255,255,255,0.1);
}
/* Dropdown */
nav ul li ul {
  position: absolute; top: 100%; left: 0;
  background-color: #006622;
  padding: 10px 0;
  display: none;
  min-width: 180px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  border-radius: 0 0 8px 8px;
  z-index: 1000;
}
nav ul li:hover > ul { display: block; }
nav ul li ul li a { padding: 10px 20px; display: block; }
nav ul li ul li a:hover, nav ul li ul li a:focus {
  background-color: #008000; color: #fff;
}

/* =================== Imagem Inicial =================== */
#imagem-inicial {
  width: 100%; height: 400px;
  background-image: url('IMGS/fts/GERAL.jpg');
  background-size: cover; background-position: center;
  display: block; margin: 20px 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}


/* =================== Imagem Mapa Geral - Contato =================== */

/* Reset básico e altura total da página */
html, body {
  height: 100%;
  margin: 0;
}

/* Container centralizado com CSS Grid */
.container {
  display: grid;
  place-items: center;   /* Centraliza vertical e horizontalmente */
  height: 100vh;
  padding: 20px;
  box-sizing: border-box;
}

/* Estilo da "imagem" com fundo */
#imagem-mapa-geral {
  width: 110%;
  max-width: 1000px;
  height: 600px;
  background-image: url('imgs/fts/mapa-geral.png');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}

/* Responsividade para tablets e celulares */
@media (max-width: 768px) {
  #imagem-mapa-geral {
    width: 80%;
    height: 300px;
  }
}

@media (max-width: 480px) {
  #imagem-mapa-geral {
    width: 90%;
    height: 250px;
  }
}







/* =================== Imagem Inicial Sobre =================== */
#imagem-inicial-sobre {
  width: 100%; height: 800px;
  background-image: url('IMGS/fts/chafariz.jpg');
  background-size: cover; background-position: center;
  display: block; margin: 20px 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}

/* =================== Terrenos =================== */
.lista-terrenos { display: flex; flex-direction: column; gap: 25px; }
.terreno {
  display: grid;
  grid-template-columns: 200px 1fr;
  align-items: start;
  gap: 20px;
  padding: 15px;
  border: 2px solid #004d1a;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
}
.codigo { font-size: 1.2em; color: #2e7031; }
.detalhes ul { margin: 0; padding-left: 20px; list-style: disc; }
.detalhes li { margin-bottom: 6px; font-size: 1em; color: #333; }

/* =================== Imagem Inicial Palavra do Síndico =================== */
#imagem-inicial-passaros {
  width: 100%; height: 800px;
  background-image: url('IMGS/FTS/passaros.png');
  background-size: cover; background-position: center;
  display: block; margin: 20px 0;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}

/* =================== Introdução =================== */
.intro {
  width: 100%; max-width: 1200px;
  padding: 0;
  text-align: center;
  background-color: #fff;
  border: 5px solid #004d1a;
  margin: 10px auto;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.intro p { font-size: 20px; margin: 10px 0; color: #004d1a; }
.intro p .highlight { color: #004d1a !important; font-weight: 900; }

/* =================== Ambiental (1 e 2) =================== */
.ambiental {
  background-color: #fff;
  display: flex; align-items: center; justify-content: center;
  padding: 10px 0;
  border: 5px solid #004d1a;
  margin: 20px auto;
  max-width: 1200px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.ambiental > div { text-align: center; padding: 0 20px; flex-shrink: 1; flex-basis: auto; }
.ambiental .left-content, .ambiental .right-content, .ambiental .image-container {
  flex-grow: 1; flex-shrink: 1; flex-basis: 0;
}
.ambiental .divider {
  border-left: 4px solid #000;
  width: 1px; height: 80px; margin: 0 15px;
  flex-shrink: 0; flex-basis: auto;
}
.ambiental p { font-size: 25px; font-weight: 700; margin-bottom: 15px; color: #004d1a; }
.ambiental p:nth-of-type(2) { font-size: 20px; font-weight: normal; color: #333; margin-bottom: 25px; }
.ambiental img { max-width: 60%; height: auto; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.imagem-piscina { max-width: 600px; width: 100%; height: auto; display: block; margin: 0 auto; }

/* =================== Ambiental 3 (independente) =================== */
.ambiental-3 {
  background-color: #fff;
  display: flex; align-items: stretch; justify-content: center;
  padding: 15px 0;
  border: 5px solid #004d1a;
  margin: 20px auto;
  max-width: 1200px; border-radius: 10px;
  gap: 20px;
}
.ambiental-3__left, .ambiental-3__right, .ambiental-3 .image-container {
  flex-grow: 1; flex-shrink: 1; flex-basis: 0;
  text-align: center; padding: 0 20px;
}
.ambiental-3__linha {
  width: 4px; height: 80px; background: #000; border-radius: 2px;
  margin: 0 20px; align-self: center;
}
.ambiental-3 p { font-size: 25px; font-weight: 700; margin-bottom: 15px; color: #004d1a; }
.ambiental-3 p:nth-of-type(2) { font-size: 20px; font-weight: normal; color: #333; margin-bottom: 25px; }
.ambiental-3 img { max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); }

/* =================== Footer + Slider de Parceiros =================== */
footer {
  background: #003366; color: #fff;
  padding: 50px 20px; text-align: center;
  font-size: 1em; line-height: 1.8; width: 100%; margin: 0;
}

/* Wrapper do rodapé (controla a largura máxima geral) */
.rodape-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  display:flex;           /* novo */
  flex-direction:column;  /* novo */
  gap:24px;               /* espaço entre SLIDER e CONTATO */	
}

/* NÃO usar borda 100% no bloco externo */
.bloco-rodape {
  border: none;          /* a moldura fica nos internos */
  padding: 0;
  background: transparent;
  margin-bottom: 20px;
  width: 100%;
  box-sizing: border-box;
}

/* ====== SLIDER ====== */
/* Caixa verde com moldura branca e largura-alvo */
.slider-wrapper {
  max-width: var(--rodape-card-max);
  width: 100%;
  margin: 0 auto;

  border: 5px solid #fff;     /* moldura branca */
  border-radius: 10px;
  background-color: #004d1a;  /* caixa verde */
  padding: 15px;
  box-shadow: none;
}

.slider-title { 
  color: #fff; 
  font-size: 22px;
  margin-bottom: 10px;
  font-weight: 700; 
  line-height: 1.2;
}

/* Palco do slider (não limita setas/imagem além do necessário) */
.slider {
  position: relative;
  width: 100%;
  max-width: calc(var(--rodape-card-max) - 160px); /* palco um pouco menor que a caixa verde */
  margin: 0 auto;
  overflow: visible;
  display: grid; place-items: center;
  min-height: 280px;
  border-radius: 8px;
}

/* Slides */
.slide {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity .6s ease;
  pointer-events: none;
}
.slide.active {
  opacity: 1; visibility: visible;
  pointer-events: auto; z-index: 1;
}

/* Imagens do slider em 50% (como você definiu) */
.slider .slide img, .slide img {
  width: 50% !important;
  height: auto !important;
  display: block; margin: 0 auto;
  border-radius: 8px; object-fit: contain;
}

/* Setas e dots */
.prev, .next {
  cursor: pointer;
  position: absolute; top: 50%; transform: translateY(-50%);
  padding: 0;
  color: #fff; font-size: 40px; font-weight: 700;
  background: none; border: none; user-select: none; z-index: 10;
}
.prev { left: 10px; }
.next { right: 10px; }
.prev:hover, .next:hover { color: #00ff66; }
.dots { text-align: center; margin: 12px 0 15px; }
.dot {
  height: 14px; width: 14px; margin: 0 6px;
  background-color: #bbb; border-radius: 50%;
  display: inline-block; cursor: pointer;
  transition: background-color .3s ease; border: 1px solid #555;
}
.dot.active { background-color: #fff; border-color: #fff; }
#pauseBtn {
  background-color: #d9534f; color: #fff;
  padding: 8px 15px; font-size: 14px; font-weight: 700; text-transform: uppercase;
  border: none; border-radius: 20px;
  box-shadow: none;
  cursor: pointer; margin-top: 15px;
  transition: transform .1s ease, background-color .3s ease;
}
#pauseBtn:hover { background-color: #c9302c; }
#pauseBtn:active { transform: scale(0.95); }

/* ====== CONTATO — mesma largura e moldura do slider ====== */
.bloco-contato {
  max-width: var(--rodape-card-max);
  width: 100%;
  margin: 0 auto;

  border: 5px solid #fff;   /* moldura branca */
  border-radius: 10px;

  background: #003366;
  color: #fff;
  padding: 30px 20px;
  text-align: center;
  line-height: 1.8;
  font-size: 1em;
}
.bloco-contato h2, .bloco-contato p { margin: 8px 0; }
.bloco-contato strong { font-size: 1.3em; display: block; }

/* Ícone WhatsApp e tooltip */
.icon-whatsapp {
  width: 28px; height: 28px; margin-left: 3px; vertical-align: middle;
}
.whatsapp-link { position: relative; display: inline-block; }
.tooltip {
  visibility: hidden;
  background-color: black; color: #fff; text-align: center;
  border-radius: 5px; padding: 8px 15px; min-width: 120px;
  position: absolute; z-index: 1; bottom: 125%; left: 50%; transform: translateX(-50%);
  opacity: 0; transition: opacity 0.3s; font-size: 12px;
}
.whatsapp-link:hover .tooltip { visibility: visible; opacity: 1; }

/* Bloco do mapa (se usado) */
.bloco-mapa {
  border: 3px solid black; border-radius: 8px;
  padding: 15px; background: #fff;
}

/* Listas com marcador customizado (asterisco) */
ul.bul { margin: 0; padding-left: 1.2em; list-style-position: outside; }
ul.bul li::marker { content: "* "; }
ul.bul li { margin: 2px 0; }

/* Página index.html 2º bloco – lista com ✔ alinhado à esquerda */
.right-content { text-align: left !important; }
.right-content ul { list-style: none; padding-left: 0; margin: 0; }
.right-content li {
  margin-bottom: 6px;
  position: relative;
  padding-left: 25px;
  text-align: left;
}
.right-content li::before {
  content: "✔";
  color: green;
  position: absolute; left: 0; font-weight: bold;
}

/* =================== Responsividade =================== */
@media (max-width: 768px) {
  header { flex-direction: column; gap: 20px; }
  header h1 { font-size: 2em; }
  header h2 { font-size: 1.1em; }

  nav ul { gap: 15px; flex-wrap: wrap; justify-content: center; }

  .ambiental, .intro { margin: 20px 10px; }
  .ambiental { flex-direction: column; }
  .ambiental .divider {
    border-left: none; border-top: 1px solid #000;
    height: 0; width: 80%; margin: 20px 0;
  }

  /* Mantém proporções no mobile */
  .slider-wrapper { max-width: 95%; padding: 12px; }
  .slider { max-width: 95%; }
  .slider .slide img, .slide img { width: 80% !important; }
  .bloco-contato { max-width: 95%; }
}

@media (max-width: 480px) {
  header h1 { font-size: 1.8em; }
  nav ul { font-size: 1em; }
  .intro p { font-size: 1.1em; }
  .ambiental p { font-size: 1.5em; }
  .ambiental p:nth-of-type(2) { font-size: 1em; }
}

/* ===== Ajustes finais do rodapé ===== */
.bloco-rodape { margin-bottom:0; }
.slider-wrapper { margin:0 auto; }   /* mantém centralizado */
.bloco-contato { margin:0 auto; }




/* Centraliza os itens do menu */
nav ul {
  display: flex;
  justify-content: center;   /* centraliza */
  align-items: center;
  gap: 20px; /* espaço entre os itens */
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Botão Cobrevale fixo no canto direito do nav */
nav {
  position: relative; /* referência para o botão */
}

/* trava o tamanho do botão e ignora regras globais tipo img { width:100% } */
header img.btn-cobrevale {
  width: 100px !important;   /* ajuste como quiser */
  height: auto !important;
  display: block;
}

/* o header vira referência para posicionamento */
header { position: relative; }

/* botão cobrevale no topo direito */
.btn-cobrevale {
  position: absolute;
  right: 0px;      /* ajuste fino: diminua p/ encostar mais (ex.: 6px, 0) */
  top: calc(12px + 2mm);  /* ↓ desce 2 mm */
  margin: 0;         /* evita “empurrar” */	
  width: 100px;     /* mantém seu tamanho */
  height: auto;
  z-index: 5;       /* garante que fique acima, se houver sobreposição */
}
