* {
  margin: 0;
}

body {
  overflow-x: hidden;
  font-family: "Montserrat", sans-serif;
  margin: 0;
  padding: 0;
  color: #4a2c2a;
  background-color: #ffffff;
  position: relative;
}

.site-wrapper {
  overflow-x: hidden; /* Apply here to fix ghost zone without hiding text */
  width: 100%;
  min-width: 100vw; /* Ensures no extra horizontal space on mobile */
}

/* Hero Section */
.hero {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
}
.hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.2));
  z-index: 1;
}
.hero video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  transform: translate(-50%, -50%) scale(1.1);
}
.nav {
  top: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1vw;
  z-index: 2;
}
.logo {
  margin: 0 2vw;
}
.nav-links {  
  list-style: none;
  display: flex;
  justify-content: space-between;
  margin: 1vw;
  padding: 0;
}
.nav-links li {
  margin: 0 1vw;
}
.nav-links a {
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s;
}
.nav-links a:hover {
  color: #a52a2a;
}
.hero-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  z-index: 2;
  text-align: center;
  color: #ffffff;
  padding: 5vh 0;
}

.hero-buttons {
  /* display: flex; */
  /* flex-wrap: wrap; */
  /* flex-direction: column; */
  /* gap: 15px; */
  margin-top: 2vh;
}

.hero-content .btn {
  border-radius: 50px;
  padding: 15px 40px;
  font-size: 1.1em;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
/* .hero-content .btn::before {
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
} */
.typewriter {
  display: inline-block;
  font-size: 3.5em;
  margin: auto;
  /* overflow: hidden; */
  /* border-right: 0.15em solid #a52a2a; */
  white-space: pre-wrap;
  /* animation: typing 4s steps(40, end), blink-caret 0.75s step-end infinite; */
}

.typewriter-cursor {
  border-right: 0.15em solid #a52a2a;
  animation: blink-caret 0.75s step-end infinite;
}

@keyframes blink-caret {
  from,
  to {
    border-color: transparent;
  }
  50% {
    border-color: #a52a2a;
  }
}
.hero-content p {
  font-size: 1.2em;
  margin: 20px 0;
}
.btn {
  background-color: #cf4840;
  color: #ffffff;
  padding: 2vh 3vw;
  margin: 1vh 0 0 0;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
  display: inline-block;
  animation: float 2s ease-in-out infinite;
}
@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* Sobre a Empresa */
.sobre {
  padding: 50px 20px;
  background: linear-gradient(135deg, #612a30, #a52a2a);
  color: #faf5f0;
  position: relative;
  overflow: hidden;
}
.sobre-container {
  display: flex;
  /* justify-content: space-between; */
  max-width: 1200px;
  margin: 0 auto;
  flex-wrap: wrap;
}
.sobre-left,
.sobre-right {
  display: flex;
  text-align: justify;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  padding: 2vw;
  min-width: 300px;
}
.sobre-left h2 {
  font-size: 2.5em;
  margin-bottom: 20px;
}
.sobre-left p {
  font-size: 1.2em;
  line-height: 1.6;
  margin-bottom: 15px;
}
.sobre-right h3 {
  font-size: 1.8em;
  margin-bottom: 15px;
}
.sobre-right p {
  font-size: 1.1em;
  line-height: 1.5;
}
.sobre-image {
  width: 100%;
  border-radius: 10px;
  margin-top: 15px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.sobre-left-intern {
  text-align: center;
}
.stats {
  display: flex;
  justify-content: space-around;
  max-width: 800px;
  background-color: #faf5f0;
  color: white;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.stat-item {
  margin: 1vw;
  max-width: 25%;
}
.stat-number {
  font-size: 2.8em;
  font-weight: 800;
  color: #cf4840;
  transition: all 0.5s ease;
}
.stat-item:hover .stat-number {
  transform: scale(1.1);
  color: #911c16;
}
.stat-item p {
  font-size: 1em;
  color: #4a2c2a;
}
.sobre-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 20px;
}
.sobre-gallery-item {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 25%;
  object-fit: cover;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.sobre-gallery-item:hover {
  transform: scale(1.1);
  transition: transform 0.3s ease-in-out;
}
.sobre-gallery img:first-child {
  width: 13vw;
  align-self: end;
  justify-self: end;
}
.sobre-gallery img:nth-child(2) {
  width: 15vw;
  align-self: end;
  justify-self: start;
}
.sobre-gallery img:nth-child(3) {
  width: 15vw;
  align-self: start;
  justify-self: end;
  object-fit: fill;
}
.sobre-gallery img:nth-child(4) {
  width: 18vw;
  align-self: start;
  justify-self: start;
}

/* Departamentos */
.departamentos {
  padding: 50px 20px;
  background-color: #fef9f3;
  text-align: center;
}
.departamentos h2 {
  font-size: 2.5em;
  margin-bottom: 5vh;
  color: #4a2c2a;
}
.departamentos-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}
.departamento-card {
  position: relative;
  border: 1px solid #eee;
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}
.departamento-card:hover {
  transform: translateY(-10px) scale(1.02);
  border-color: #cf4840;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
.departamento-card img {
  transition: transform 0.4s ease;
}
.departamento-card:hover img {
  transform: scale(1.05);
}
.departamento-card i {
  font-size: 2.5em;
  margin: 20px 0 10px;
}
.departamento-image {
  width: 100%;
  height: 150px;
  object-fit: cover;
}
.departamento-card h3,
.departamento-card p {
  flex-grow: 0;
}
.departamento-card h3 {
  font-size: 1.8em;
  color: #4a2c2a;
  margin: 15px 0 10px;
}
.departamento-card p {
  font-size: 1em;
  color: #666;
  padding: 0 20px;
  margin-bottom: 20px;
}
.btn-departamento {
  display: inline-block;
  background-color: #a52a2a;
  color: #ffffff;
  padding: 10px 20px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
  margin-bottom: 20px;
  transition: background-color 0.3s ease;
  margin-top: auto;
  align-self: center;
}
.btn-departamento:hover {
  background-color: #cf4840;
}

/* Diferenciais */
.diferenciais {
  padding: 50px 20px;
  background: linear-gradient(135deg, #612a30, #a52a2a);
  text-align: center;
  color: #4a2c2a;
}
.diferenciais h2 {
  font-size: 2.5em;
  margin-bottom: 40px;
  color: #cf4840;
}
.diferenciais-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}
.diferencial-item {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.diferencial-item:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}
.diferencial-item i {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #a52a2a, #cf4840);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}
.diferencial-item h3 {
  font-size: 1.5em;
  color: #4a2c2a;
  margin-bottom: 10px;
}
.diferencial-item p {
  font-size: 1em;
  color: #666;
}

/* Depoimentos/Equipe */
.depoimentos {
  padding: 50px 20px;
  background-color: #ffffff;
  text-align: center;
}
.depoimentos-carousel {
  /* precisa ser uma cor legal */
  background-color: #d3cfcf;
  border-radius: 10px;
  position: relative;
  max-width: 700px;
  margin: 0 auto;
  overflow: hidden;
  min-height: 40vh;
  max-height: 100%;
  height: 30vh;
  max-width: 50vh;
}
.depoimento {
  text-align: center;
  padding: 20px;
  max-width: 600px;
  margin: 0 auto;
  display: none;
}
.depoimento.active {
  display: block;
}
.depoimento .avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin-bottom: 15px;
  object-fit: cover;
}
.depoimento p {
  font-style: italic;
  color: #444;
}

.depoimentos h2 {
  font-size: 2.5em;
  color: #4a2c2a;
  margin-bottom: 40px;
}
.depoimentos-container {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  gap: 30px;
  flex-wrap: wrap;
}
.depoimentos-nav {
  margin-top: 20px;
}

.depoimentos-nav .dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 5px;
  background: #ccc;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.3s;
}

.depoimentos-nav .dot.active {
  background: #cf4840;
}
.testemunhos-grid {
  flex: 1;
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}
.testemunho-item {
  flex: 0 0 300px;
  scroll-snap-align: start;
  position: relative;
  background: #fff;
  border-radius: 15px;
  padding: 25px;
  border: 1px solid #eee;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s, box-shadow 0.3s;
}
.testemunho-item::before {
  content: "\201C";
  font-size: 4em;
  color: #cf4840;
  position: absolute;
  top: -20px;
  left: 10px;
  opacity: 0.2;
}
.testemunho-item:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15);
}
.testemunho-avatar {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 3px solid #a52a2a;
  margin-bottom: 15px;
}
.testemunho-item p {
  font-size: 1em;
  color: #666;
  margin-bottom: 10px;
  font-style: italic;
}
.testemunho-item h4 {
  font-size: 1.2em;
  color: #4a2c2a;
}
.equipe-container {
  flex: 1;
  text-align: center;
}
.equipe-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 45vh;
  min-height: 45vh;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
}
.equipe-container h3 {
  font-size: 1.8em;
  color: #a52a2a;
}
.equipe-slideshow {
  position: relative;
  width: 100%;
  max-height: 45vh;
  min-height: 45vh;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.equipe-slideshow .equipe-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.equipe-slideshow .equipe-image.active {
  opacity: 1;
  position: relative;
}

/* CTA Final */
.cta-final {
  padding: 100px 20px;
  background: linear-gradient(135deg, #4a2c2a, #cf4840, #a52a2a);
  position: relative;
  overflow: hidden;
}
.cta-final::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 200%;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.1) 0%,
    transparent 70%
  );
  animation: light-move 12s linear infinite;
  z-index: 1;
}
@keyframes light-move {
  0% {
    transform: translate(-50%, -50%);
  }
  50% {
    transform: translate(0%, 0%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}
.cta-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  color: #ffffff;
}
.cta-content h2 {
  font-size: 3.2em;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 15px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  text-align: justify;
  line-height: 1.4;
}
.cta-content h3 {
  font-size: 2.2em;
  font-weight: 700;
  margin-bottom: 40px;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  text-align: justify;
  line-height: 1.4;
}
.cta-btn {
  background: #a52a2a;
  color: #ffffff;
  padding: 20px 50px;
  font-size: 1.3em;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 50px;
  border: 2px solid #ffffff;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
.cta-btn:hover {
  background: #911c16;
  transform: translateY(-5px) scale(1.05);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}

/* Marcas */
.marcas {
  padding: 50px 20px;
  background-color: #faf5f0;
  text-align: center;
}
.marcas h2 {
  font-size: 2.5em;
  margin-bottom: 40px;
  color: #4a2c2a;
}
.marcas-carousel {
  overflow: hidden;
  position: relative;
}
.marcas-track {
  display: flex;
  gap: 40px;
  animation: scroll-marcas 30s linear infinite;
}
.marcas-track img {
  height: 80px;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter 0.3s;
}
.marcas-track img:hover {
  filter: grayscale(0%);
}
@keyframes scroll-marcas {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Localização */
.localizacao {
  padding: 60px 20px;
  background: linear-gradient(270deg, rgb(95, 41, 47), rgb(142, 48, 44));
  text-align: center;
}
.localizacao h2 {
  font-size: 2.5em;
  margin-bottom: 20px;
  color: #e0d1d0;
}
.localizacao p {
  font-size: 1.2em;
  margin-bottom: 30px;
  color: #e2dbdb;
}
.mapa-container {
  max-width: 1000px;
  margin: 0 auto;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);
}
.mapa-container iframe {
  width: 100%;
  height: 450px;
  border: 0;
}

/* Contato */
.contato {
  padding: 100px 20px;
  background: linear-gradient(135deg, #fdfdfd, #faf5f0, #fef9f3);
}
.contato h2 {
  font-size: 2.6em;
  text-align: center;
  margin-bottom: 60px;
  color: #2c2c2c;
  font-weight: 900;
  letter-spacing: 1px;
}
.contato-container {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 60px;
  max-width: 1200px;
  margin: 0 auto;
  align-items: start;
}

/* Formulário */
.contato-form {
  background: #fff;
  border-radius: 15px;
  padding: 40px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.contato-form:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}
.form-group {
  display: flex;
  flex-direction: column;
}
.form-group.full {
  grid-column: span 2;
}
.contato-form label {
  font-size: 0.95em;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.contato-form input,
.contato-form textarea {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 1em;
  background: #fafafa;
  transition: all 0.3s ease;
}
.contato-form input:focus,
.contato-form textarea:focus {
  border-color: #cf4840;
  box-shadow: 0 0 0 3px rgba(207, 72, 64, 0.15);
  outline: none;
}
.form-group input:focus + label,
.form-group textarea:focus + label {
  color: #a52a2a;
  transform: translateY(-18px);
  font-size: 0.8em;
}
.checkbox-group {
  flex-direction: row;
  align-items: center;
  gap: 20px;
}
.btn-enviar {
  margin-top: 30px;
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 8px;
  font-size: 1.1em;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(135deg, #a52a2a, #cf4840);
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
.btn-enviar:hover {
  background: linear-gradient(135deg, #cf4840, #a52a2a);
  transform: translateY(-2px) scale(1.02);
}

/* Informações de Contato */
.contato-info {
  background: #fff;
  border-radius: 15px;
  padding: 40px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}
.contato-info h3 {
  font-size: 1.6em;
  margin-bottom: 25px;
  color: #a52a2a;
}
.contato-info ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.contato-info li {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
  color: #444;
  font-size: 1.05em;
  line-height: 1.4;
}
.contato-info i {
  color: #a52a2a;
  font-size: 1.3em;
  margin-right: 12px;
}

/* Footer */
.footer {
  background: linear-gradient(180deg, #111, #000);
  color: #ddd;
  padding: 60px 20px 20px;
  font-size: 0.95em;
}
.footer-container {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding-top: 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}
.footer-logo img {
  width: 180px;
  margin-bottom: 15px;
}
.footer-logo p {
  font-size: 0.9em;
  line-height: 1.5;
  color: #bbb;
}
.footer-links h3,
.footer-contato h3,
.footer-social h3 {
  position: relative;
  display: inline-block;
  padding-left: 12px;
  margin-bottom: 15px;
  color: #fff;
  font-size: 1.2em;
}
.footer-links h3::before,
.footer-contato h3::before,
.footer-social h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 70%;
  background-color: #a52a2a;
  border-radius: 2px;
}
.footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links ul li {
  margin-bottom: 10px;
}
.footer-links a {
  color: #ddd;
  text-decoration: none;
  transition: color 0.3s;
}
.footer-links a:hover {
  color: #fff;
  text-decoration: underline;
}
.footer-contato p {
  margin-bottom: 10px;
  color: #bbb;
}
.footer-contato i {
  color: #cf4840;
  margin-right: 8px;
}
.footer-social .social-icons {
  display: flex;
  gap: 15px;
}
.footer-social a {
  color: #fff;
  font-size: 1.3em;
  transition: color 0.3s, transform 0.3s;
}
.footer-social a:hover {
  color: #cf4840;
  transform: rotate(-5deg) scale(1.2);
}
.footer-bottom {
  text-align: center;
  margin-top: 40px;
  border-top: 1px solid #333;
  padding-top: 20px;
  font-size: 0.85em;
  color: #777;
}

/* Animações de entrada */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease;
}
.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

/* Responsividade Global */
@media (max-width: 768px) {
  html,
  body {
    margin: 0;
    padding: 0;
    height: 100%;
  }
  /* Navbar */
  .nav {
    flex-direction: row;
    justify-content: space-between;
    padding: 15px;
  }
  .nav-links {
    position: absolute;
    top: 60px;
    right: 0;
    background: rgba(0, 0, 0, 0.95);
    flex-direction: column;
    align-items: flex-start;
    width: 220px;
    padding: 20px;
    gap: 15px;
    display: none;
  }
  .nav-links.show {
    display: flex;
  }
  .nav-links a {
    color: #fff;
    font-size: 1.1em;
  }
  .menu-toggle {
    display: block;
    font-size: 1.6em;
    color: #fff;
    cursor: pointer;
    margin-right: 20px;
  }
  /* Hero */
  .hero {
    height: 100vh;
    min-height: 92vh;
    box-sizing: border-box;
  }

  .hero-buttons a {
    min-width: 30vw;
    width: 40vw;
    text-wrap: nowrap;
    max-width: 50vw;
  }
  .typewriter {
    font-size: 1.2em !important;
    /* border-right: 0.1em solid #a52a2a; */
    max-width: 85%;
    /* overflow: hidden; */
    white-space: pre-wrap;
    /* animation: typing 4s steps(40, end), blink-caret 0.75s step-end infinite; */
  }
  .typewriter-cursor {
    border-right: 0.1em solid #a52a2a;
    animation: blink-caret 0.75s step-end infinite;
  }

  .hero-content p {
    font-size: 0.9em;
    margin: 10px 15px;
  }
  .btn {
    padding: 1.5vh 5vw;
    font-size: 0.9em;
  }
  /* Sobre */
  .sobre {
    padding: 30px 15px;
  }
  .sobre-container {
    flex-direction: column;
    text-align: center;
  }
  .sobre-left,
  .sobre-right {
    padding: 10px;
    min-width: unset;
  }
  .sobre-left h2 {
    font-size: 1.8em;
  }
  .sobre-left p {
    font-size: 1em;
  }
  .sobre-right h3 {
    font-size: 1.5em;
  }
  .sobre-right p {
    font-size: 0.95em;
  }
  .stats {
    flex-direction: column;
    padding: 2vh;
  }
  .stat-item {
    margin: 1vh 0;
    max-width: 100%;
  }
  .stat-number {
    font-size: 2em;
  }
  .sobre-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .sobre-gallery img {
    width: 100%;
  }
  .sobre-gallery img:first-child {
    width: 30vw;
    align-self: end;
    justify-self: end;
  }
  .sobre-gallery img:nth-child(2) {
    width: 35vw;
    align-self: end;
    justify-self: start;
  }
  .sobre-gallery img:nth-child(3) {
    width: 35vw;
    align-self: start;
    justify-self: end;
    object-fit: fill;
  }
  .sobre-gallery img:nth-child(4) {
    width: 40vw;
    align-self: start;
    justify-self: start;
  }
  /* Departamentos */
  .departamentos {
    padding: 30px 15px;
  }
  .departamentos h2 {
    font-size: 1.8em;
  }
  .departamentos-container {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .departamento-card h3 {
    font-size: 1.5em;
  }
  .departamento-card p {
    font-size: 0.9em;
  }
  .btn-departamento {
    padding: 8px 15px;
    font-size: 0.9em;
  }
  /* Marcas */
  .marcas {
    padding: 30px 15px;
  }
  .marcas h2 {
    font-size: 1.8em;
  }
  .marcas-track img {
    height: 50px;
  }
  /* Diferenciais */
  .diferenciais {
    padding: 30px 15px;
  }
  .diferenciais h2 {
    font-size: 1.8em;
  }
  .diferenciais-container {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .diferencial-item h3 {
    font-size: 1.3em;
  }
  .diferencial-item p {
    font-size: 0.9em;
  }
  /* Depoimentos */
  .depoimentos {
    padding: 30px 15px;
  }
  .depoimentos h2 {
    font-size: 1.8em;
  }
  .depoimentos-container {
    flex-direction: column;
  }
  .testemunhos-grid {
    width: 100%;
  }
  .equipe-container {
    width: 100% !important;
  }

  .testemunho-item {
    padding: 15px;
  }
  .testemunho-item p {
    font-size: 0.9em;
  }
  .testemunho-item h4 {
    font-size: 1.1em;
  }
  .equipe-container h3 {
    font-size: 1.5em;
  }
  /* CTA Final */
  .cta-final {
    padding: 60px 15px;
  }
  .cta-final::before {
    animation: light-move-mobile 6s linear infinite;
  }
  @keyframes light-move-mobile {
    0% {
      transform: translate(-80%, -80%) scale(1.2);
    }
    50% {
      transform: translate(20%, 20%) scale(1.4);
    }
    100% {
      transform: translate(-80%, -80%) scale(1.2);
    }
  }
  .cta-content h2 {
    font-size: 2em;
    text-align: center;
  }
  .cta-content h3 {
    font-size: 1.5em;
    text-align: center;
  }
  .cta-btn {
    padding: 15px 30px;
    font-size: 1em;
  }
  /* Contato */
  .contato {
    padding: 60px 15px;
  }
  .contato h2 {
    font-size: 2em;
  }
  .contato-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .contato-form {
    padding: 20px;
  }
  .form-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .contato-form label {
    font-size: 0.9em;
  }
  .contato-form input,
  .contato-form textarea {
    padding: 10px;
    font-size: 0.9em;
  }
  .btn-enviar {
    padding: 12px;
    font-size: 1em;
  }
  .contato-info {
    padding: 20px;
  }
  .contato-info h3 {
    font-size: 1.4em;
  }
  .contato-info li {
    font-size: 0.95em;
  }
  /* Localização */
  .localizacao {
    padding: 30px 15px;
  }
  .localizacao h2 {
    font-size: 1.8em;
  }
  .localizacao p {
    font-size: 1em;
  }
  .mapa-container iframe {
    height: 300px;
  }
  /* Footer */
  .footer {
    padding: 40px 15px 15px;
  }
  .footer-container {
    grid-template-columns: 1fr;
    gap: 20px;
    text-align: center;
  }
  .footer-logo img {
    width: 140px;
  }
  .footer-links h3,
  .footer-contato h3,
  .footer-social h3 {
    position: relative;
    display: inline-block;
    padding-left: 12px;
    margin: 0 auto 15px;
  }
  .footer-links h3::before,
  .footer-contato h3::before,
  .footer-social h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 70%;
    background-color: #a52a2a;
    border-radius: 2px;
  }
  .footer-social .social-icons {
    justify-content: center;
  }
  .mensagens-prontas {
    margin-top: 5vh !important;
    margin: auto;
    min-width: 30%;
    max-width: 80%;
    width: 40%;
  }
}

/* Ajustes adicionais para telas menores (abaixo de 480px) */
@media (max-width: 480px) {
  /* Hero */
  .hero {
    height: 70vh;
  }
  .typewriter {
    font-size: 1.5em;
    width: 95vw;
    /* border-right: 0.08em solid #a52a2a; */
  }
  .typewriter-cursor {
    border-right: 0.08em solid #a52a2a;
  }
  .hero-content p {
    font-size: 0.8em;
    margin: 8px 10px;
  }
  .btn {
    padding: 1vh 4vw;
    font-size: 0.8em;
  }
  /* Sobre */
  .sobre {
    padding: 20px 10px;
  }
  .sobre-left h2 {
    font-size: 1.5em;
  }
  .sobre-right h3 {
    font-size: 1.3em;
  }
  .stat-number {
    font-size: 1.8em;
  }
  .sobre-gallery img:first-child {
    width: 35vw;
  }
  .sobre-gallery img:nth-child(2) {
    width: 40vw;
  }
  .sobre-gallery img:nth-child(3) {
    width: 40vw;
  }
  .sobre-gallery img:nth-child(4) {
    width: 45vw;
  }
  /* Departamentos */
  .departamentos {
    padding: 20px 10px;
  }
  .departamentos h2 {
    font-size: 1.5em;
  }
  .departamento-card h3 {
    font-size: 1.3em;
  }
  /* Marcas */
  .marcas {
    padding: 20px 10px;
  }
  .marcas h2 {
    font-size: 1.5em;
  }
  .marcas-track img {
    height: 40px;
  }
  /* Diferenciais */
  .diferenciais {
    padding: 20px 10px;
  }
  .diferenciais h2 {
    font-size: 1.5em;
  }
  .diferencial-item h3 {
    font-size: 1.2em;
  }
  /* Depoimentos */
  .depoimentos {
    padding: 20px 10px;
  }
  .depoimentos h2 {
    font-size: 1.5em;
  }
  .equipe-container h3 {
    font-size: 1.3em;
  }
  .equipe-container {
    width: 100% !important;
  }
  /* CTA Final */
  .cta-final {
    padding: 40px 10px;
  }
  .cta-content h2 {
    font-size: 1.8em;
  }
  .cta-content h3 {
    font-size: 1.3em;
  }
  .cta-btn {
    padding: 12px 25px;
    font-size: 0.9em;
  }
  /* Contato */
  .contato {
    padding: 40px 10px;
  }
  .contato h2 {
    font-size: 1.8em;
  }
  .contato-form {
    padding: 15px;
  }
  .contato-info {
    padding: 15px;
  }
  /* Localização */
  .localizacao {
    padding: 20px 10px;
  }
  .localizacao h2 {
    font-size: 1.5em;
  }
  .mapa-container iframe {
    height: 250px;
  }
  /* Footer */
  .footer {
    padding: 30px 10px 10px;
  }
  .footer-logo img {
    width: 120px;
  }
  .mensagens-prontas {
    margin-top: 5vh !important;
    margin: auto;
    min-width: 30%;
    max-width: 80%;
    width: 100% !important;
  }
}

.whatsapp-float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 20px;
  right: 20px;
  background-color: #25d366;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  font-size: 30px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s, background 0.3s;
  text-decoration: none;
}
.whatsapp-float:hover {
  transform: scale(1.1);
  background: #20b857;
}

/* Entrega */
.entrega {
  padding: 60px 20px;
  background: #fef9f3;
}
.entrega-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;
}
.entrega-texto h2 {
  font-size: 2.5em;
  color: #4a2c2a;
  margin-bottom: 20px;
}
.entrega-texto p {
  font-size: 1.2em;
  margin-bottom: 20px;
  color: #444;
  line-height: 1.6;
}
.entrega-lista {
  list-style: none;
  padding: 0;
  margin-bottom: 25px;
}
.entrega-lista li {
  font-size: 1.1em;
  margin: 10px 0;
  color: #4a2c2a;
  display: flex;
  align-items: center;
  gap: 10px;
}
.entrega-lista i {
  color: #cf4840;
  font-size: 1.3em;
}
.btn-entrega {
  display: inline-block;
  padding: 12px 25px;
  background: #a52a2a;
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.3s;
}
.btn-entrega:hover {
  background: #cf4840;
}
.entrega-imagem img {
  width: 100%;
  border-radius: 15px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
@media (max-width: 768px) {
  .entrega-container {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .entrega-lista {
    text-align: left;
    display: inline-block;
  }
}

.entrega-slideshow {
  position: relative;
  width: 100%;
  max-width: 600px; /* Ajuste conforme necessário */
  height: 400px; /* Ajuste conforme necessário */
  overflow: hidden;
  border-radius: 8px;
}

.entrega-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Garante que a imagem cubra o contêiner */
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.entrega-image.active {
  opacity: 1;
}

/* Responsividade */
@media (max-width: 768px) {
  .entrega-slideshow {
    height: 300px; /* Ajuste para dispositivos menores */
  }
}

@media (max-width: 480px) {
  .entrega-slideshow {
    height: 200px;
  }
}

.avatar-initial {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background-color: #007bff; /* Cor de fundo do círculo */
  color: white; /* Cor da letra */
  font-size: 24px;
  font-weight: bold;
  border-radius: 50%;
  text-transform: uppercase;
  margin: 0 auto 10px;
}
.dot {
  height: 15px;
  width: 15px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  margin: 0 5px;
  cursor: pointer;
}

.dot.active {
  background-color: #007bff;
}

.mensagens-prontas {
  margin-top: 5vh !important;
  margin: auto;
  min-width: 30%;
  max-width: 80%;
  width: 40%;
}

.mensagens-prontas h3 {
  font-size: 1.3em;
  color: #a52a2a;
  margin-bottom: 15px;
}

.mensagem-bloco {
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mensagem-bloco pre {
  margin: 0;
  white-space: pre-wrap;
  flex: 1;
  font-size: 0.95em;
  color: #333;
}

.btn-copiar {
  margin-left: 15px;
  background: #cf4840;
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 8px 12px;
  cursor: pointer;
  transition: background 0.3s;
}

.btn-copiar:hover {
  background: #a52a2a;
}
