/* src/components/button.css */
.button,
a.button,
a.button:visited {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.5em 1em;
  border-radius: var(--radius-lg);
  font-size: 1rem;
  font-weight: 500;
  border: 1px solid transparent;
  transition:
    filter .15s ease,
    opacity .15s ease,
    transform .02s ease;
  cursor: pointer;
  color: #fff;
  box-shadow: var(--shadow-sm);
  background-image:
    linear-gradient(
      90deg,
      var(--primary-1),
      var(--primary-2));
}
.button:hover {
  filter: brightness(0.98);
}
.button--secondary,
a.button--secondary,
a.button--secondary:visited {
  background: var(--bg-surface);
  color: var(--text);
  border: 1px solid var(--border);
}
.button--disabled,
a.button--disabled,
a.button--disabled:visited {
  pointer-events: none;
  background: var(--bg-surface);
  color: var(--text-subtle);
  border: 1px solid var(--border);
}
a.button {
  text-decoration: none;
}

/* src/components/header.css */
.header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--border);
  background-color: var(--bg-surface);
}
.header > * {
  margin: 8px 18px 4px;
}
.header__logo {
  font-size: 36px;
  font-weight: bold;
  color: var(--text);
}
.header__logo img {
  height: 40px;
}
.main-navi ul {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-direction: row;
  gap: 2em;
  margin: 0;
}
.main-navi li.active,
.header__profile--active {
  text-decoration: underline;
  text-decoration-color: var(--text);
}
.main-navi li > a {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.main-navi a,
.header__profile a {
  text-decoration: none;
  color: var(--text);
}
.header__user {
  display: flex;
  align-items: center;
}
.header__profile {
  margin-right: 1em;
}
.header__profile a {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

/* src/components/footer.css */
.footer {
  width: 100%;
  border-top: 1px solid var(--border);
  margin-top: 2em;
  padding: 1em;
}
.footer__links {
  margin: 0 0 0.5em;
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  justify-content: center;
}
.footer__copyright {
  text-align: center;
  font-size: 0.875rem;
  color: var(--text-subtle);
}

/* src/components/pages/for-buyers.css */
.for-buyers__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1em;
}
.notices-posted__add-new-notice {
  font-size: 1rem;
}

/* src/components/user-profile.css */
.user-profile:not(:first-of-type) {
  margin-top: 1em;
}
.user-profile__content {
  margin-bottom: 1em;
}
.user-profile__profile {
  display: flex;
  flex-direction: row;
  gap: 1em;
}
.user-profile__picture {
  aspect-ratio: 1;
  height: auto;
  width: 100%;
  max-width: 140px;
}
.user-profile__details {
  display: flex;
  flex-direction: column;
}
.user-profile__name,
.user-profile__headline,
.user-profile__email,
.user-profile__link {
  font-size: 1rem;
  margin: 0.25em 0;
}

/* src/components/notice-helper.css */
.notice-helper {
  width: calc(100% - 2em);
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 1em;
}
.notice-helper__text {
  flex-basis: 600px;
  display: flex;
  flex-direction: column;
  position: relative;
  font-size: 1rem;
  line-height: 1.25;
}
.notice-helper__highlights,
.notice-helper__textarea {
  font-size: 1rem;
  line-height: 1.20;
}
.notice-helper__highlights {
  pointer-events: none;
  position: absolute;
  white-space: pre-wrap;
  color: transparent;
  margin-top: 37px;
  padding: 10px 12px;
  border: 1px solid transparent;
}
.notice-helper__textarea {
  resize: none;
  z-index: 2;
  background-color: transparent;
}
.notice-helper__submit {
  margin-top: 1em;
  align-self: flex-start;
}
.notice-helper__assistant {
  flex-basis: 600px;
  display: flex;
  flex-direction: column;
  gap: 0.8em;
  padding-top: 20px;
}
.assistant__suggestion {
  position: relative;
  padding: 0.5em 1em;
  border-radius: var(--radius-md);
  background-color: lightskyblue;
}
.assistant__suggestion:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 1em;
  width: 0;
  height: 0;
  border: 0.5em solid transparent;
  border-top-color: lightskyblue;
  border-bottom: 0;
  border-right: 0;
  margin-bottom: -0.5em;
}
.assistant__profile {
  align-self: flex-end;
  align-self: flex-end;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1em;
}
.new-notice input[type=submit].assistant__refresh {
  margin: 0;
}
.assistant__refresh--refreshing:after {
  display: inline-block;
  -webkit-animation: ellipsis steps(1, end) 4s infinite;
  animation: ellipsis steps(1, end) 4s infinite;
  content: "";
  text-align: left;
  width: 1em;
}
@keyframes ellipsis {
  0% {
    content: "";
  }
  25% {
    content: ".";
  }
  50% {
    content: "..";
  }
  75% {
    content: "...";
  }
  100% {
    content: "";
  }
}
::highlight(highlight-green),
.assistant__suggestion--green {
  background-color: lightgreen;
}
.assistant__suggestion--green::after {
  border-top-color: lightgreen;
}
::highlight(highlight-red),
.assistant__suggestion--red {
  background-color: lightcoral;
}
.assistant__suggestion--red::after {
  border-top-color: lightcoral;
}
::highlight(highlight-orange),
.assistant__suggestion--orange {
  background-color: orange;
}
.assistant__suggestion--orange::after {
  border-top-color: orange;
}
::highlight(highlight-purple),
.assistant__suggestion--purple {
  background-color: orchid;
}
.assistant__suggestion--purple::after {
  border-top-color: orchid;
}
::highlight(highlight-yellow),
.assistant__suggestion--yellow {
  background-color: lightgoldenrodyellow;
}
.assistant__suggestion--yellow::after {
  border-top-color: lightgoldenrodyellow;
}
::highlight(highlight-pink),
.assistant__suggestion--pink {
  background-color: lightpink;
}
.assistant__suggestion--pink::after {
  border-top-color: lightpink;
}

/* src/components/pages/info.css */
ul.faq {
  list-style: none;
  margin: 0;
  padding: 0;
}
.faq__qa {
  margin-top: 1em;
}

/* src/components/pages/pricing.css */
.pricing-card-row {
  display: flex;
  flex-direction: row;
  gap: 1em;
}
.pricing-card {
  flex-grow: 1;
}
.price {
  display: flex;
  align-items: center;
  gap: 0.25em;
}
.price__value {
  font-size: 1.25rem;
  font-weight: bold;
  color: var(--primary-2);
}
.price__value--on-sale {
  text-decoration: line-through;
  font-weight: normal;
  color: var(--text-subtle);
}
.price__tax {
  color: var(--text-subtle);
}
.price__suffix {
  color: var(--text-subtle);
}
.pricing-card__action-note {
  font-size: 0.875rem;
  font-style: italic;
  color: var(--text-subtle);
  margin-bottom: 0.5em;
}
