.div-form {
    background: #fff;       /* mesma cor do card */
    border-radius: 0.75rem; /* borda arredondada */
    box-shadow: 0 2px 6px rgba(0,0,0,0.1); /* sombra suave */
    padding: 2rem;          /* espaço interno */
}

body {
  background-image: url("../imagens/bg-waves.svg");
  background-repeat: repeat;
  background-size: cover;
  background-position: center;
  font-family: "Kanit", sans-serif;
}

:root {
  --color-primary: #0077b5;
  --color-danger: #d22b48;
  --title-color: #495960;
  --subtitle-color: #212733;
  --shadow-color: #00000040;
  --button-color: #005fc9;
  --button-color-red: #c0454a;
  --button-border-color: #0077b533;
  --bg-form: #f5f5f5;
  --bg-input: white;
  --icon-color: #66707b;
  --input-border-color: #cfd4d9;
  --label-color: #222222;
  --input-placeholder-color: rgba(13, 13, 13, 0.25);
  --bg-polygon-top: #77b52fb2;
  --bg-polygon-bottom: #1f85c799;
}

.polygons-bg {
  min-height: 100vh;
  background-image: url("../imagens/bg-polygons.svg");
  background-repeat: repeat;
  background-size: cover;
  background-position: start;

  display: flex;
  justify-content: flex-end;
}

.login-container {
  min-height: calc(100vh - 50px);
}

.border-top-polygon,
.border-bottom-polygon {
  height: 25px;
  width: 100vw;
}

.border-top-polygon {
  background-color: var(--bg-polygon-top);
}

.border-bottom-polygon {
  background-color: var(--bg-polygon-bottom);
}

.polygons-bg .logo-itens {
  margin-top: 200px;
  margin-right: 20px;
  background-color: white;
  padding: 16px 40px;
  border-radius: 20px;
  box-shadow: 0 4px var(--shadow-color);
  width: max-content;
  height: max-content;
}

.polygons-bg img {
  width: 150px;
  margin: 0 10px;
}

.div-form {
  width: 450px;
  margin: 20px 0;
  padding: 60px 50px;
  border-radius: 20px;
  background-color: var(--bg-form);
  box-shadow: 0 4px var(--shadow-color);
  border: 1px solid var(--color-primary);
}

.title {
  font-weight: 700;
  font-size: 48px;
  line-height: 100%;
  color: var(--title-color);
}

.subtitle {
  font-weight: 300;
  font-size: 14px;
  line-height: 100%;
  color: var(--subtitle-color);
  margin: 12px 0;
}

.subtitle-2 {
  font-weight: 400;
  font-size: 32px;
  line-height: 120%;
  color: var(--subtitle-color);
}

.label {
  font-weight: 400;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: -0.32px;
  color: var(--label-color);
}

.title,
.subtitle,
.subtitle-2 {
  text-align: center;
}

.form {
  margin-top: 50px;
}

.form i {
  color: var(--icon-color);
}

.form-input {
  min-height: 40px;
}

/* troca a cor da borda dos inputs */
.form .input-group-text,
.form input,
.form input:focus {
  background-color: var(--bg-input);
  border-color: var(--bg-input);
}
.form .input-group-text {
  border-color: var(--input-border-color);
}
.form input {
  border-top-color: var(--input-border-color);
  border-bottom-color: var(--input-border-color);
}
.input-border-left input {
  border-left: 1px solid var(--input-border-color);
}
.input-border-right input {
  border-right: 1px solid var(--input-border-color);
}

.border-right-radius {
  border-top-right-radius: 0.375rem !important;
  border-bottom-right-radius: 0.375rem !important;
}

.form .button,
.form .button:hover {
  width: 100%;
  height: 38px;
  border-radius: 4px;
  background-color: var(--button-color);
  border: 1px solid var(--button-color);
  color: white;

  font-weight: 400;
  font-size: 16px;
  text-align: center;
}

.form .button:hover {
  background-color: color-mix(in srgb, var(--button-color) 75%, black);
  border-color: color-mix(in srgb, var(--button-color) 75%, black);
}

.form .link-text {
  text-decoration: none;
  width: 100%;
  height: 38px;
  border-radius: 4px;
  background-color: var(--bg-input);
  border: 1px solid var(--button-border-color);

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

  font-weight: 400;
  font-size: 16px;
  text-align: center;
}

.form .button-blue {
  color: var(--button-color);
}
.form .button-red {
  color: var(--button-color-red);
}
.form .button-blue:hover,
.form .button-red:hover {
  background-color: color-mix(in srgb, transparent 95%, black);
}

.form input::placeholder {
  font-family: "Kanit", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: -0.32px;
  vertical-align: middle;
  color: var(--input-placeholder-color);
}

.form input[type="password"]::-ms-reveal,
.form input[type="password"]::-webkit-contacts-auto-fill-button,
.form input[type="password"]::-webkit-credentials-auto-fill-button {
  display: none !important;
}

.password:hover {
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.05);
  transition: background-color 500ms;
}

.invalid-password p {
  margin: 0;
}

.popover-dark {
  --bs-popover-bg: #191919; /* fundo escuro */
  --bs-popover-color: white; /* texto branco */
  --bs-popover-border-color: #444; /* borda escura */
}

.popover-dark .popover-header {
  background-color: #222;
  color: #fff;
  border-bottom: 1px solid #444;
}

.popover-dark .popover-body {
  color: #fff;
}

@media screen and (max-width: 1200px) {
  .div-form {
    width: initial;
    max-width: 400px;
    padding: 50px 30px;
  }

  .polygons-bg .logo-itens {
    display: flex;
    flex-direction: column;
    margin-top: 150px;
  }
  .polygons-bg img {
    width: 100px;
    margin: 10px 0;
  }
}

@media screen and (max-width: 991px) {
  .polygons-bg {
    background: none;
    min-height: initial;

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

  .polygons-bg .logo-itens {
    flex-direction: row;
    margin: 20px 0;

    width: 100%;
    max-width: 450px;
    justify-content: space-around;
  }

  .title {
    font-size: 40px;
  }

  .polygons-bg img {
    width: 100px;
    margin: 10px 0;
  }

  .div-form {
    width: 100%;
    max-width: 450px;
    padding: 50px 30px;
  }
}
