// Lux 5.3.7
// Bootswatch


// Variables

$web-font-path: "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@200;300;400;500;600;700&display=swap" !default;
@if $web-font-path {
  @import url("#{$web-font-path}");
}

:root {
  --bs-border-width: 0;
}

// Navbar

.navbar {
  font-size: $font-size-sm;
  font-weight: 600;
  text-transform: uppercase;

  &-nav {
    .nav-link {
      padding-top: .715rem;
      padding-bottom: .715rem;
    }
  }

  &-brand {
    margin-right: 2rem;
  }
}

.bg-light {
  border: 1px solid rgba(0, 0, 0, .1);

  &.navbar-fixed-top {
    border-width: 0 0 1px;
  }

  &.navbar-bottom-top {
    border-width: 1px 0 0;
  }
}

.nav-item {
  margin-right: 2rem;
}

// Buttons

.btn {
  font-size: $font-size-sm;
  text-transform: uppercase;

  &-sm {
    font-size: 10px;
  }

  &-primary {
    --bs-btn-hover-bg: #{$black};
    --bs-btn-hover-border-color: #{$black};
    --bs-btn-active-bg: #{$black};
    --bs-btn-active-border-color: #{$black};
  }

  &-secondary {
    --bs-btn-hover-bg: #{$gray-200};
    --bs-btn-hover-border-color: #{$gray-200};
    --bs-btn-active-bg: #{$gray-300};
    --bs-btn-active-border-color: #{$gray-300};
  }

  &-light {
    --bs-btn-hover-bg: #{$gray-300};
    --bs-btn-hover-border-color: #{$gray-300};
    --bs-btn-active-bg: #{$gray-400};
    --bs-btn-active-border-color: #{$gray-400};
  }

  &-link {
    font-weight: $btn-font-weight;
  }
}

.btn-outline-secondary {
  --bs-btn-color: #{$black};
  --bs-btn-hover-bg: #{$gray-200};
  --bs-btn-hover-border-color: #{$gray-200};
  --bs-btn-active-bg: #{$gray-300};
  --bs-btn-active-border-color: #{$gray-300};
  border-color: $gray-100;
}

.btn-outline-light {
  color: var(--bs-btn-active-color);
}

[class*="btn-outline-"] {
  border-width: 2px;
}

.border-secondary {
  border: 1px solid $gray-400 !important;
}

@include color-mode(dark) {
  .btn-primary {
    --bs-btn-bg: #080808;
    --bs-btn-hover-bg: #{$black};
  }

  .btn-outline-primary {
    color: $white;
    border-color: #080808;
    --bs-btn-hover-bg: #{$black};
  }

  .btn-outline-secondary {
    --bs-btn-color: #{$white};
    --bs-btn-hover-color: #{$black};
    --bs-btn-hover-bg: #{$gray-200};
    --bs-btn-hover-border-color: #{$gray-200};
    --bs-btn-active-bg: #{$gray-300};
    --bs-btn-active-border-color: #{$gray-300};
  }

  .btn-outline-light {
    color: $white;

    &:not([disabled]):not(.disabled):hover,
    &:not([disabled]):not(.disabled):focus,
    &:not([disabled]):not(.disabled):active {
      color: var(--bs-btn-active-color);
    }
  }

  .btn-outline-dark {
    color: $white;
  }
}

// Typography

body {
  letter-spacing: 1px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-transform: uppercase;
  letter-spacing: 3px;
}

.text-secondary {
  color: $body-color !important;
}

// Tables

th {
  font-size: $font-size-sm;
  text-transform: uppercase;
}

.table {
  th,
  td {
    padding: 1.5rem;
  }

  &-sm {
    th,
    td {
      padding: .75rem;
    }
  }
}

.table-primary,
.table-secondary,
.table-success,
.table-warning,
.table-danger,
.table-info,
.table-light {
  --#{$prefix}table-color: #{$body-color};
}

// Forms

@include color-mode(dark) {
  .form-control {
    color: $body-color;

    &::placeholder {
      color: $body-secondary-color;
    }
  }

  .form-floating {
    > label,
    > .form-control:focus ~ label,
    > .form-control:not(:placeholder-shown) ~ label,
    > .form-control-plaintext ~ label,
    > .form-select ~ label {
      color: $body-secondary-color;
    }

    > .form-control::placeholder,
    > .form-control-plaintext::placeholder {
      color: transparent;
    }
  }

  .form-check-input:checked {
    background-color: $body-secondary-color;
  }

  .form-switch .form-check-input {
    background-image: $form-switch-bg-image;
  }

  .form-range::-webkit-slider-thumb {
    background-color: $gray-600;
  }

  .form-range:disabled::-webkit-slider-thumb {
    background-color: $gray-800;
  }

  .input-group-text {
    color: $body-secondary-color;
  }
}

// Navs

.dropdown-menu {
  font-size: $font-size-sm;
  text-transform: none;
}

// Indicators

.badge {
  padding-top: .28rem;

  &-pill {
    border-radius: 10rem;
  }

  &.bg-secondary,
  &.bg-light {
    color: $dark;
  }
}

// Containers

.list-group-item,
.card {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
    color: inherit;
  }
}

.modal-dialog {
  box-shadow: var(--bs-box-shadow);
}

.popover {
  --bs-popover-border-color: transparent;
  box-shadow: var(--bs-box-shadow);

  .popover-arrow {
    --bs-popover-border-width: 1px;
  }
}


@include color-mode(dark) {
  .modal-content,
  .popover,
  .toast {
    background-color: lighten($gray-900, 5%);
  }
}
