.bullion-header,
.bullion-main,
.bullion-footer {
  width: min(100% - 2 * var(--space-lg), 72rem);
  margin-inline: auto;
}

.bullion-header,
.bullion-footer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  align-items: center;
  justify-content: space-between;
  padding-block: var(--space-xl);
}

.bullion-header nav,
.bullion-footer {
  display: flex;
  gap: var(--space-lg);
}

.bullion-main {
  display: grid;
  gap: var(--space-xl);
  padding-block: var(--space-xl);
}

.bullion-main h1 {
  font-size: clamp(var(--text-2xl), 5vw, var(--text-4xl));
  overflow-wrap: anywhere;
}

.bullion-main h2 { font-size: var(--text-xl); }
.bullion-main p { margin-block: var(--space-md); }
.bullion-label { color: var(--color-text-secondary); }
.bullion-main a, .bullion-footer a { text-decoration: underline; }

.bullion-photos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: var(--space-xl);
}

.bullion-photos figure {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-lg);
  background: var(--color-surface-raised);
}

.bullion-photos img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 26rem;
  aspect-ratio: 4 / 3;
  padding: var(--space-lg);
  object-fit: contain;
}

.bullion-photos figcaption {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  justify-content: space-between;
  padding: var(--space-lg);
  border-top: 1px solid var(--color-border);
}

.bullion-details {
  padding: var(--space-xl);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-lg);
  background: var(--color-surface-raised);
}

.bullion-details dl > div {
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) 2fr;
  gap: var(--space-lg);
  padding-block: var(--space-sm);
  overflow-wrap: anywhere;
}

.bullion-details dt { color: var(--color-text-secondary); }
.bullion-notes { white-space: pre-wrap; overflow-wrap: anywhere; }
.bullion-skip { position: absolute; left: -100vw; }
.bullion-skip:focus { position: static; }

.bullion-viewer {
  width: min(96vw, 80rem);
  max-width: none;
  height: 94dvh;
  max-height: none;
  margin: auto;
  padding: var(--space-lg);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-lg);
  background: var(--color-surface-raised);
  color: var(--color-text-primary);
}

.bullion-viewer[open] { display: flex; flex-direction: column; gap: var(--space-md); }
.bullion-viewer::backdrop { background: var(--color-overlay-medium); }
.bullion-viewer header, .bullion-viewer footer { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; justify-content: space-between; }
.bullion-viewer h2 { font-size: var(--text-lg); }
.bullion-viewer button { min-width: 3rem; min-height: 3rem; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-border); border-radius: var(--border-radius-md); }
.bullion-viewer button[aria-pressed="true"] { background: var(--color-primary); color: var(--color-text-on-dark); }
.bullion-viewer-controls { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.bullion-viewer-stage { flex: 1; min-height: 0; overflow: hidden; touch-action: none; background: var(--color-surface-subtle); }
.bullion-viewer-stage img { width: 100%; height: 100%; object-fit: contain; user-select: none; }
.bullion-viewer-credit { min-height: 1.5em; }
