/* START OF STEVE MARK DESIGN STYLE GUIDES */

/* DECLARE MY TWO FAVOURITE FONTS */
/* JOST for the angry title and standouts */
@font-face {
  font-family: Jost;
  src: url("https://static.smartstock.africa/font/jost.ttf");
}

/* FIGTREE for the softer paragraph texts */
@font-face {
  font-family: Figtree;
  src: url("https://static.smartstock.africa/font/figtree.ttf");
}

/* DECLARE THE ROOT ELEMENTS */
:root {
  --Figtree: "Figtree", "sans-serif";
  --Jost: "Jost", "sans-serif";
  /* end of fonts */
  /* Declare accent colors from black to white */
  --clear-white: #ffffff;
  /* ADVISORY WE TEND TO AVOID HEX FOR OUR FUTURE COLORS */
  /* THE BOTTOM TWO ARE OUR BACKGROUND COLOR */
  --bg: hsl(0, 0%, 90%);
  --inv-bg: hsl(0 0% 10%);
  --text: hsl(0 0% 10%);
  --text-light: hsl(0 0% 15%);
  --text-lighter: hsl(0 0% 20%);
  /* FOR THE TEXT WE WILL INVERSE THE TWO */
  /* PROVIDE SHADES FOR DESIGN ELEMENTS */
  --bg-lighter: hsl(0 0% 100%);
  --bg-light: hsl(0 0% 95%);
  --bg-dark: hsl(0 0% 85%);
  /* WEIGHTS */
  --heavy-font: 600;
  --medium-font: 400;
  --slim-font: 400;
  /* TEXT SIZES */
  --xxxl: 32px;
  --xxl: 24px;
  --xl: 20px;
  --l: 18px;
  --m: 16px;
  --sm: 14px;
  --xsm: 12px;
  /* SPACING AND MARGIN */
  --xxlarge-space: 1.75rem;
  --xlarge-space: 1.5rem;
  --large-space: 1.25rem;
  --normal-space: 1rem;
  --tight-space: 0.75rem;
  --xtight-space: 0.5rem;
  /* BORDERS*/
  --dark-border: hsl(0 0% 60%);
  --light-border: hsl(0 0% 30%);
  /* RADIUS */
  --large-radius: 16px;
  --medium-radius: 8px;
  --small-radius: 4px;
  --element-spacing: var(--xtight-space) var(--normal-space);
  /* ACCENT COLOR */
}

@media (prefers-color-scheme: dark) {
  :root {
    --clear-black: #000000;
    --bg: hsl(0 0% 10%);
    --inv-bg: hsl(0 0% 90%);
    --text: hsl(0 0% 90%);
    --text-light: hsl(0 0% 80%);
    --text-lighter: hsl(0 0% 70%);
    --bg-light: hsl(0 0% 20%);
    --bg-dark: hsl(0 0% 15%);
    --light-border: hsl(0 0% 80%);
    --dark-border: hsl(0 0% 40%);
    --slim-font: 200;
  }
}

* {
  margin: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  transition: all 0.2s ease-in-out;
}

.flex {
  display: flex;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-center-v {
  display: flex;
  align-items: center;
}

.flex-center-h {
  display: flex;
  justify-content: center;
}

.flex-center-all {
  display: flex;
  justify-content: center;
  align-items: center;
}

body {
  /* DEFAULT STYLES */
  margin: 4px;
  height: 100vh;
  background-color: var(--bg);
}

h1 {
  /* STYLE GUIDES */
  font-family: var(--Jost);
  color: var(--text);
  font-weight: var(--heavy-font);
  font-size: var(--xxxl);
  margin: var(--element-spacing);
}

h2 {
  font-size: var(--xxl);
  font-family: var(--Jost);
  font-weight: var(--medium-font);
  color: var(--text-light);
  margin: var(--element-spacing);
}

h3 {
  font-size: var(--xl);
  font-family: var(--Jost);
  font-weight: var(--medium-font);
  color: var(--text-lighter);
  margin: var(--element-spacing);
}

p {
  font-size: var(--m);
  font-family: var(--Figtree);
  font-weight: var(--medium-font);
  line-height: calc(var(--m) * 1.6);
  color: var(--text-light);
  margin: var(--element-spacing);
}

button {
  border: none;
  padding: var(--element-spacing);
  background-color: var(--bg-light);
  font-family: var(--Figtree);
  font-weight: var(--heavy-font);
  margin: var(--element-spacing);
  border: 2px solid var(--dark-border);
  border-radius: var(--medium-radius);
  font-size: var(--m);
  cursor: pointer;
  gap: var(--xtight-space);
  color: var(--text-lighter);
  box-shadow: 0px 2px 0px 2px var(--bg-dark)
}

button:hover {
  background-color: var(--bg-dark);
  color: var(--text);
  box-shadow: 0px 0px 0px 2px var(--bg-dark)

}

button:active {
  background-color: var(--bg-light);
}

svg path {
  stroke: var(--inv-bg);
}

#input_svg {
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
  width: 16px;
  margin: 0px var(--xlarge-space);
  padding: var(--tight-space) 0px;
}

.input-svg {
  position: relative;
}

input {
  outline: none;
  margin: var(--element-spacing);
  padding: var(--xtight-space) var(--tight-space);
  background: var(--bg-light);
  border: 1px solid var(--dark-border);
  color: var(--text);
  font-family: var(--Figtree);
  font-size: var(--m);
  font-weight: var(--slim-font);
  letter-spacing: calc(var(--m) * 0.1);
  border-radius: var(--medium-radius);
  min-width: 300px;
}

input::placeholder {
  font-family: var(--Figtree);
  font-weight: var(--heavy-font);
}

input[type="checkbox"],
input[type="radio"] {
  pointer-events: none;
  opacity: 0;
  position: absolute;
}

.input-svg input{
    padding-left:var(--xxlarge-space) 
}

#checkbox-input,
#radio-input {
  margin: var(--element-spacing);
  padding: var(--xtight-space) var(--tight-space);
  font-family: var(--Figtree);
  border-radius: var(--medium-radius);
  color: var(--text);
  gap: var(--xtight-space);
  position: relative;
}

#checkbox,
#radio {
  height: 16px;
  width: 16px;
  background: var(--bg-light);
  border-radius: var(--small-radius);
  cursor: pointer;
  border: 1px solid var(--dark-border);
}

#radio {
  border-radius: 50%;
}

#checkbox-input input:checked + #checkbox,
#radio-input input:checked + #radio {
  background: var(--inv-bg);
}
