.component-contact-form {
  padding: 1.5em; 
  display: flex;
  flex-direction: column;
  gap: 1em; 
  align-items: center;
}

.component-contact-form > div {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.component-contact-form > div > span {
  text-align: center;
  padding-bottom: 1em;
  width: 100%;
}

.component-contact-form > div > div {
  width: 48%;
}

.component-contact-form > .component-contact-form-aditional-details > div {
  width: 100%;
}

.component-contact-form > .component-contact-form-state-city > div:first-child {
  display: flex;
  justify-content: space-between;
}

.component-contact-form > .component-contact-form-state-city > div:first-child > div:first-child {
  width: 15%;
}

.component-contact-form > .component-contact-form-state-city > div:first-child > div:last-child {
  width: 75%;
}

.component-contact-form > div > label,
.component-contact-form > div > div label {
  color: var(--foreground-color);
}

.component-contact-form > div > div textarea,
.component-contact-form > div > div input {
  width: 100%;
  border-radius: 5px;
  line-height: 2em;
}

.component-contact-form > hr {
  border-color: var(--foreground-color-4);
  margin-block: .5em;
  border-inline: none;
  border-top: none;
  width: 90%;
}

.component-contact-form > .component-contact-form-checkboxes {
  display: flex;
  flex-direction: column;
}

.component-contact-form > .component-contact-form-checkboxes > div {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}

.component-contact-form > .component-contact-form-checkboxes > div > input[type="radio"]:checked + label {
  color: var(--background-color-2);
  background-color: var(--foreground-color-2-weak);
}

.component-contact-form > .component-contact-form-checkboxes > div > label {
  min-width: 12em;
  padding-block: .5em;
  text-align: center;
  border-color: var(--foreground-color-2);
  cursor: pointer;
}

.component-contact-form > .component-contact-form-preferred-contact-method {
  display: flex;
  flex-direction: column;
}

.component-contact-form > .component-contact-form-preferred-contact-method > div {
  padding: .5em 1em .5em 0;
  display: flex;
  width: min-content;
}

.component-contact-form > .component-contact-form-preferred-contact-method > div > input {
  width: 3em;
}

.component-contact-form > .component-contact-form-agree {
  width: 100%;
  justify-content: left;
  display: flex;
  gap: .5em;
}

.component-contact-form > button {
  width: 100%;
}

.component-contact-form > a {
  width: 100%;
  text-align: right;
  color: var(--foreground-color);
  text-decoration: none;
  margin-top: 2em;
}