/* Faz o body ocupar a altura total */
html, body {
	padding-top: 15px; /* Ajuste conforme a altura da sua navbar */
    height: 100%;
    margin: 0;
	overflow-x: hidden;
}

/* Organiza o body em coluna */
body {
    display: flex;
    flex-direction: column;
}

#btn-instalar {
    transition: 
        bottom 0.3s ease,
        transform 0.3s ease,
        opacity 0.3s ease,
        width 0.3s ease,
        padding 0.3s ease,
        border-radius 0.3s ease;
    
    opacity: 0;
    transform: translateY(30px);
    white-space: nowrap;
    padding: 10px 16px;
    width: auto;
    border-radius: 50px;
}

#btn-instalar.show {
    opacity: 1;
    transform: translateY(0);
}

#btn-instalar.shrink {
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 50%;
    overflow: hidden;
}

#btn-instalar.shrink .btn-label {
    display: none;
    opacity: 0;
    width: 0;
    overflow: hidden;
    white-space: nowrap;
    margin-left: 0 !important;
    transition: opacity 0.2s ease, width 0.3s ease, margin-left 0.3s;
}

#btn-instalar:not(.shrink) .btn-label {
    opacity: 1;
    width: auto;
    margin-left: 0.5rem !important;
    transition: opacity 0.3s ease, width 0.3s ease, margin-left 0.3s;
}

.btn-100w {
  width: 100px;
}

.btn-15b {
  margin-bottom: 15px;
}

.table {
	margin-bottom: 15px;
  /*
  background-color: rgb(255, 255, 255); 
  border-radius: 12px;
  */
}

/* Faz o conteúdo crescer para empurrar o footer */
.content-wrapper {
    flex: 1;
}

footer {
  width: 100vw;
  box-sizing: border-box;
}

.card-overlay {
    overflow: hidden;
    position: relative;
    height: 200px;
    border: none;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.card-overlay img {
    object-fit: cover;
    height: 100%;
    width: 100%;
    filter: brightness(0.5) blur(2px);
    transition: all 0.5s ease;
}

.card-overlay:hover img {
    filter: brightness(0.7) blur(0px);
}

.card-overlay .card-img-overlay {
    background: rgba(0, 0, 0, 0.4); /* sombra suave no texto */
    border-radius: 15px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}

.scroll-container {
	scroll-behavior: smooth;
	white-space: nowrap;
	padding: 1rem 2rem;
}

.scroll-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background-color: rgba(0, 0, 0, 0.5);
	color: white;
	border: none;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	font-size: 24px;
	cursor: pointer;
}

.scroll-btn.left {
	left: 0;
}

.scroll-btn.right {
	right: 0;
}

.scroll-btn:hover {
	background-color: rgba(0, 0, 0, 0.8);
}

.nav-link.active {
  background-color: #0d6efd;
  color: white !important;
  font-weight: bold;
  border-radius: 4px;
}

.map-responsive iframe {
    border: 0;
    width: 350px;
    height: 500px;
}

/* Oculta a barra de rolagem horizontal no desktop */
@media (min-width: 768px) {
  .map-responsive iframe {
        width: 800px;
        height: 500px;
    }

  #carousel-destaques {
    overflow-x: hidden !important; /* Impede qualquer rolagem horizontal */
  }

  /* Oculta a barra em navegadores baseados em WebKit */
  #carousel-destaques::-webkit-scrollbar {
    display: none;
  }

  /* Firefox */
  #carousel-destaques {
    scrollbar-width: none; /* Firefox */
  }
}