/* assets/css/components.css */

/* Simple content sections */
section {
  padding: var(--space-6) 0;
}

section + section {
  border-top: 1px solid var(--color-border);
}

/* Card */
.card {
  border: 1px solid var(--color-border);
  border-radius: calc(var(--radius) * 2);
  padding: var(--space-6);
  background: var(--color-bg);
}

/* Button variants */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);

  border-radius: var(--radius);
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  color: var(--color-text);
  text-decoration: none;
  padding: var(--space-2) var(--space-4);
}

.button:hover {
  background: #f3f4f6;
}

.button.primary {
  border-color: var(--color-accent);
  color: #ffffff;
  background: var(--color-accent);
}

.button.primary:hover {
  filter: brightness(0.95);
}

/* Inline code */
code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
  font-size: 0.95em;
  padding: 0.1em 0.25em;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: #f9fafb;
}

/* Utility: visually separated list */
.list-clean {
  list-style: none;
  padding: 0;
  margin: 0;
}

.list-clean > li + li {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
}

/* Forms */
.field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.field:first-child {
  margin-top: 0;
}

input,
select,
textarea {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: var(--space-2) var(--space-3);
}

.error {
  min-height: 1.25em;
  margin: 0;
  color: #b91c1c;
}

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: #b91c1c;
}

/* Gallery */
.gallery {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(1, 1fr);
}

figure {
  margin: 0;
}

figure img {
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
}

figcaption {
  margin-top: var(--space-2);
}
