@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
body {
  font-family: 'Poppins', sans-serif;
  position: relative;
  background: linear-gradient(54.64deg, #232878 9.09%, #146082 30.95%, #0D7987 45.2%, #229D96 68.2%);
  color: white;
  height: 100vh;
  overflow: hidden;
}

body::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: url('../../img/remodelagem-fluxo/IMG_65892a.jpg') no-repeat center center;
  background-size: cover;
  opacity: 0.12;
  z-index: 0;
}

.container-fluid {
  position: relative;
  z-index: 1;
  height: 100%;
}

.left-text {
  padding: 2rem;
  padding-top: 0;
}

.left-text h1 {
  font-weight: bold;
}
.subtitulo {
  font-weight: 300;
  font-size: 2.3rem;
}

.card-custom {
  background-color: white;
  color: #333;
  border-radius: 2.7rem;
  box-shadow: 0 0 20px rgba(0,0,0,0.2);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-corpo {
  padding: 2rem;
}

.btn-green {
  background-color: #3CA69D;
  color: white;
}

.btn-green:hover {
  background-color: #35978f;
}

small {
  font-size: 0.75rem;
  color: #666;
}

.tab-footer {
  background-color: #364CC0;
  border-radius: 0 0 2.7rem 2.7rem;
  border: none;
  min-height: 62px;
}

.tab-footer .nav-link {
    color: white;
    font-weight: bold;
    text-align: center;
    max-width: 100%;
    width: 100%;
    border: none;
    min-height: 62px;
    font-weight: 400;
}

.tab-footer .nav-link.active {
  background-color: #001689;
  color: #FFFFFF;
  width: 100%;
  max-width: 100%;
  border: none;
  min-height: 62px;
  font-weight: 400;
}
.nav-item {
  padding: 0;
  width: 50%;
  border: none;
  min-height: 62px;
}
.tab-left {
  border-bottom-left-radius: 2.7rem;
}
.tab-right {
  border-bottom-right-radius: 2.7rem;
}
.cadastre {
  color: #36B3AA;
  font-weight: 700;
}
.bt-cadastro {
  font-weight: 400;
}
small {
  font-weight: 300;
}
.form-label {
  font-weight: 700;
}
h1.bem-vindo {
  font-weight: 700;
  font-size: 3.2rem;
  padding-left: 9rem;
}
.subtitulo {
  padding-left: 9rem;
}
.bi {
    position: relative;
    bottom: 3px;
}
.btn-close {
  --bs-btn-close-color: #58151c;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2358151c'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 1;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 0.6rem;
  height: 0;
  padding: .25em .25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center / 1em auto no-repeat;
  border: 0;
  border-radius: .375rem;
  opacity: var(--bs-btn-close-opacity);
}

.alert-danger {
  font-size: 0.8rem;
}

@media (max-width: 1280px) {
  body {
    background: linear-gradient(54.64deg, #232878 9.09%, #146082 30.95%, #0D7987 45.2%, #229D96 68.2%);
  }
  h1.bem-vindo {
    font-size: 2.5rem;
    padding: 0;
  }
  .subtitulo {
    font-size: 1.8rem;
    padding: 0;
  }
}

/* Telas até 767px (smartphones) */
@media (max-width: 767px) {
  body {
    background: linear-gradient(121.64deg, #232878 9.09%, #146082 30.95%, #0D7987 45.2%, #229D96 68.2%);
    background-attachment: fixed; /* <- Isso fixa o fundo */
    background-repeat: no-repeat;
    background-size: cover;
    overflow-y: auto; /* <- Permite rolagem vertical */
  }
  h1.bem-vindo {
    font-size: 2rem;
    font-weight: 700;
    padding-left: 0;
  }
  .subtitulo {
    font-size: 1.2rem;
    padding-left: 0;
  }
  .left-text {
    padding: 2rem;
    padding-top: 6rem;
  }
}

/* Estilos específicos para telas maiores que 768px */
@media (min-width: 768px) {
  body {
    background-attachment: fixed; /* <- Isso fixa o fundo */
    background-repeat: no-repeat;
    background-size: cover;
    overflow-y: auto; /* <- Permite rolagem vertical */
  }
  .left-text {
    position: relative;
    padding-right: 20px;
  }

  .left-text::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 420px;
    background-color: #FFFFFF;
  }
}

.btn-green:hover {
  background-color: #51D0C7;
  color: #ffff;
}
.btn-green:active {
  background-color: #1E9990 !important;
  color: #ffff !important;
}