/* ==========================================================================
   Base styles
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-family: "Quicksand", sans-serif;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body {
  font-weight: normal;
  color: var(--color-text);
  background-color: var(--color-canvas);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  color: var(--color-primary-dark);
}

svg {
  overflow: visible !important;
}

strong {
  font-family: var(--font-family-bold);
  font-weight: bold;
}

::selection {
  background-color: var(--tint-green-28);
}

/* Consistent, slim scrollbars */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-strong) transparent;
}

*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

*::-webkit-scrollbar-thumb {
  background-color: var(--color-border-strong);
  border-radius: var(--radius-full);
}

*::-webkit-scrollbar-track {
  background: transparent;
}

/* Keyboard focus is always visible */
:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.light-text {
  font-weight: 300;
}

.hidden {
  display: none !important;
}

.field-with-error {
  border-color: var(--color-danger) !important;
}

.field-with-error:focus {
  box-shadow: var(--focus-ring-danger) !important;
  border-color: var(--color-danger) !important;
}
