@import url(./reset.css);
@import url(./fonts.css);
@import url(./variables.css);
@import url(./utils.css);
@import url(./compositions.css);
@import url(./blocks.css);


a:focus,
button:focus {
  outline: 2px dashed maroon;
  outline-offset: 2px;
}

main:focus {
  outline: none;
}

body {
  background: var(--white);
  color: var(--black);
  display: flex;
  flex-direction: column;
  font-family: var(--font-base);
  font-size: var(--size-base);
  font-weight: 400;
  line-height: 1.6;
  min-height: 100vh;
}

main {
  min-height: calc(100vh - 90px);
}

h1 {
  font-size: var(--size-step-3);
}

h2 {
  font-size: var(--size-step-2);
}

h3 {
  font-size: var(--size-step-1);
}

:is(h1, h2, h3) {
  display: flex;
  font-family: var(--font-base);
  font-weight: 700;
  gap: 1ch;
  line-height: 1.2;
}

a,
.dropdown-link {
  color: currentColor;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--maroon);
  text-decoration-thickness: 2px;
  cursor: pointer;
}

a:hover,
a:active {
  color: var(--maroon);
  text-decoration-color: var(--black);
}

p {
  max-width: 60ch;
}

table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

td,
th {
  font-weight: 500;
  padding: var(--space-s);
  width: 100%;
  border: none;
}

input:not([class]),
textarea,
select {
  border: 2px solid var(--dgray);
  background-color: var(--white);
  border-radius: 4px;
  padding: 0.5rem 0.75rem;
}

input:focus {
  outline: none;
}

input[type="radio"] {
  padding: 0;
  margin: 0;
  appearance: none;
  width: 30px;
  height: 30px;
  border: 2px solid var(--stop-light-color);
  transition: 0.2s all linear;
  border-radius: 50%;
  position: relative;
  background-color: white;
  cursor: pointer;
}

input[type="radio"]:checked {
  background-color: var(--stop-light-color);
}

input:user-invalid,
textarea:user-invalid,
select:user-invalid {
  border: 2px solid var(--red);
}

input:user-invalid+span::before,
textarea:user-invalid+span::before,
select:user-invalid+span::before {
  content: "Field is required.";
  color: var(--red);
  font-weight: 600;
  font-size: var(--size-step-0);
}

option {
  font-family: inherit;
}

ul {
  list-style: inside;
  padding-left: 1rem;
}

button {
  cursor: pointer;
}

