body {
  font-family: 'Work Sans', sans-serif;
  color: #04163c;
}

.navbar {
  background-color: #04163c;
}

.navbar-brand img {
  height: 64px;
  margin: 8px 0;
}

.hero {
  position: relative;
}

.hero .carousel-item {
  height: 90vh;
  min-height: 500px;
}

.hero-img {
  object-fit: cover;
  height: 100%;
}

.carousel-caption {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  text-align: center;
  padding: 0 8px;
}

.carousel-caption h1 {
  font-weight: 700;
  font-size: 3.3rem;
  color: #fe9401;
}

.carousel-caption .lead {
  font-size: 1.5rem;
  padding: 0 8px;
}

.btn-primary {
  background-color: #fd5200;
  border-radius: 4px;
  border: none;
}

.btn-primary:hover {
  background-color: #fe9401;
}

.section-title {
  font-weight: 700;
  margin-bottom: 2rem;
  color: #0b285f;
}

.card-icon {
  font-size: 3rem;
  color: #d35f24;
  margin-bottom: 1rem;
}

.gallery-item {
  width: 100%;
  padding-top: 75%;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.gallery-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carousel-caption a {
  font-weight: 500;
}

.contact-section,
footer {
  background-color: #f8f9fa;
}

footer {
  background-color: #04163c;
  color: white;
  text-align: center;
  padding: 20px 0;
  margin-top: 0;
}

footer a {
  color: #d35f24;
  text-decoration: none;
}

.map-responsive {
  position: relative;
  overflow: hidden;
  padding-bottom: 56.25%;
  height: 0;
}

.map-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


/* Responsividade adicional */
@media (max-width: 768px) {
  .card {
    margin-bottom: 4px;
  }

  .hero .carousel-caption h1 {
    font-size: 2rem;
  }

  .hero .carousel-caption p {
    font-size: 1rem;
  }

  .navbar-brand img {
    height: 45px;
  }
}

@media (min-width: 768px) {
  .map-responsive {
    max-width: 800px;
    height: 400px;
    padding-bottom: 0;
    margin: 0 auto;
  }

  .map-responsive iframe {
    position: relative;
    height: 100%;
  }
}