.text-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  font-size: 70%;
  text-align: center;
}

.text-button__line {
  display: block;
  width: fit-content;
  padding: 0.1em 0.8em;
  border-radius: var(--b-radius-s);
  font-family: var(--f-family-2);
  text-decoration: none;

  & p {
    margin: 0;
  }

  & svg {
    display: inline-block;
    width: auto;
    height: 0.9em;
    vertical-align: -0.05em;
  }

  &.-small {
    background: rgb(var(--c-neutral-lightest));
    border: 1px solid rgb(var(--c-primary));
    color: rgb(var(--c-primary));
    font-weight: var(--f-weight-l);
    font-size: var(--f-size-l-1);
  }

  &.-primary,
  &.-secondary {
    background: rgb(var(--c-primary));
    color: rgb(var(--c-neutral-lightest));
    font-size: var(--f-size-l-3);
    text-transform: uppercase;
  }

  &.-secondary {
    background: rgb(var(--c-secondary));
  }
}

/* =============================================================================
   Media Queries
   ========================================================================== */

@media (min-width: 640px) {
  .text-button {
    font-size: 85%;
  }
}

@media (min-width: 900px) {
  .text-button {
    align-items: flex-end;
    font-size: 100%;
    text-align: right;
  }
}

@media (min-width: 1280px) {
  .text-button {
    font-size: 120%;
  }
}
