:root {
  --phd-radius: 1rem;
}

html, body {
  min-height: 100%;
}

body {
  word-break: keep-all;
  overflow-wrap: break-word;
}

main.container {
  min-height: calc(100vh - 180px);
}

.card,
.alert,
.btn,
.form-control,
.form-select,
.navbar,
.dropdown-menu,
.list-group-item {
  border-radius: var(--phd-radius);
}

pre {
  white-space: pre-wrap;
  word-break: break-word;
  overflow-x: auto;
}

.table-responsive {
  overflow-x: auto;
}

.navbar .nav-link {
  font-weight: 500;
}

.messages-wrap .alert {
  border-width: 1px;
}

footer {
  font-size: 0.95rem;
}

@media (max-width: 991.98px) {
  .navbar .btn {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  main.container {
    min-height: auto;
  }

  h1, .h1 {
    font-size: 1.5rem;
  }

  h2, .h2 {
    font-size: 1.2rem;
  }

  .card-body {
    padding: 1rem;
  }

  .table {
    font-size: 0.95rem;
  }

  .btn {
    min-height: 44px;
  }
}

@media (max-width: 575.98px) {
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .display-6 {
    font-size: 1.7rem;
  }

  .alert,
  .card {
    border-radius: 0.85rem;
  }
}
