/* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Montserrat', sans-serif;
  background-color: #F3E5D8;
  color: #3B2A25;
}

/* HEADER */
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;

  height: 70px;
  padding: 0 40px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  z-index: 1000;
}

header .logo img {
  height: 70px;
}

nav ul {
  list-style: none;
  display: flex;
  gap: 25px;
}

nav a {
  text-decoration: none;
  color: #3B2A25;
  font-weight: 500;
}

nav a:hover,
nav a.active {
  color: #6B4F3A;
}

/* BANNER COM PROFUNDIDADE */
.banner {
  height: 100vh;
  padding-top: 70px;

  position: relative;

  background:
    linear-gradient(rgba(243,229,216,0.85), rgba(243,229,216,0.95)),
    url('../imgs/banner-cafe.png') no-repeat center center;

  background-size: cover;
  background-attachment: fixed;

  display: flex;
  justify-content: center;
  align-items: center;
}

/* BLUR SUAVE */
.banner::before {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(2px);
}

/* CONTAINER FORM */
.form-container {
  position: relative;
  z-index: 1;

  background: rgba(255,255,255,0.6);
  backdrop-filter: blur(10px);

  padding: 40px;
  border-radius: 20px;

  max-width: 480px;
  width: 100%;

  box-shadow: 0 10px 40px rgba(0,0,0,0.1);

  text-align: center;

  transform: translateY(-5vh);
  animation: fadeUp 0.8s ease;
}

/* TÍTULO */
.form-container h1 {
  font-family: 'Playfair Display', serif;
  font-size: 2.2em;
  margin-bottom: 10px;
}

/* TEXTO */
.form-container p {
  color: #6B4F3A;
  margin-bottom: 25px;
  font-size: 0.95em;
}

/* FORM */
form {
  text-align: left;
}

form label {
  font-size: 0.85em;
  margin-bottom: 5px;
  display: block;
}

/* INPUTS */
form input,
form textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 16px;

  border-radius: 8px;
  border: 1px solid #ddd;

  background: #fff;
  color: #3B2A25;

  transition: 0.3s;
}

form input:focus,
form textarea:focus {
  outline: none;
  border-color: #3B2A25;
  box-shadow: 0 0 8px rgba(59,42,37,0.2);
}

form textarea {
  height: 120px;
  resize: none;
}

/* BOTÃO */
form button {
  width: 100%;
  padding: 14px;

  border-radius: 999px;
  border: none;

  background: #3B2A25;
  color: #fff;

  font-weight: 500;
  cursor: pointer;

  transition: 0.3s;

  box-shadow: 0 6px 20px rgba(59,42,37,0.25);
}

form button:hover {
  background: #2a1e1a;
  transform: translateY(-2px);
}

/* MENSAGEM */
#msg {
  margin-top: 12px;
  font-size: 0.9em;
  text-align: center;
}

/* FOOTER */
footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 50px;

  display: flex;
  align-items: center;
  justify-content: center;

  background-color: #3B2A25;
  color: #fff;
  font-size: 0.9em;
}

/* ANIMAÇÃO */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(-5vh);
  }
}

/* RESPONSIVO */
@media (max-width: 768px) {
  .form-container {
    padding: 25px;
  }

  .form-container h1 {
    font-size: 1.6em;
  }
}

.mapa {
  margin-top: 30px;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* BOTÃO SOBRE O MAPA */
.btn-mapa {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);

  background: #3B2A25;
  color: #fff;

  padding: 10px 20px;
  border-radius: 999px;

  text-decoration: none;
  font-size: 0.85em;

  box-shadow: 0 6px 15px rgba(0,0,0,0.2);
  transition: 0.3s;
}

.btn-mapa:hover {
  background: #2a1e1a;
  transform: translateX(-50%) scale(1.05);
}
.mapa iframe {
  filter: grayscale(20%) contrast(95%);
}
.whatsapp-float {
  position: fixed;
  bottom: 20px;
  right: 20px;

  width: 60px;
  height: 60px;

  background-color: #25D366;
  color: #fff;

  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 28px;
  text-decoration: none;

  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  z-index: 999;

  transition: all 0.3s ease;
}

/* Hover premium */
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}

.pin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -100%);

  width: 22px;
  height: 22px;

  background: #3B2A25;
  border-radius: 50%;

  box-shadow: 0 0 0 6px rgba(59,42,37,0.2);

  animation: pulse 2s infinite;
}

/* PULSO (efeito vivo) */
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(59,42,37,0.4);
  }
  70% {
    box-shadow: 0 0 0 20px rgba(59,42,37,0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(59,42,37,0);
  }
}