/* ============================================
   COLLECTORS PAGE STYLES
   collectors.html — In the Collection
   ============================================ */

/* ---- Page Header ---- */

.collector-header {
  text-align: center;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .collector-header {
    padding-top: 15vh;
  }
}

@media (min-width: 1024px) {
  .collector-header {
    padding-top: calc(var(--section-padding-y) * 1.3);
  }
}

@media (max-width: 767px) {
  .collector-header {
    padding-top: calc(var(--section-padding-y) * 2);
  }
}

.collector-rule {
  width: 100%;
  height: 1px;
  background: rgba(199, 168, 106, 0.3);
  margin-top: var(--space-5);
  border: none;
}

/* ---- Entry Section ---- */

.collector-entries {
  /* inherits section-padded spacing */
}

.collector-entry {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .collector-entry-image {
    display: flex;
    justify-content: center;
  }

  .collector-entry-figure {
    aspect-ratio: unset;
    max-height: 50vh;
  }
}

@media (min-width: 1024px) {
  .collector-entry {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
    align-items: start;
  }
}

/* ---- Entry Image ---- */

.collector-entry-figure {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow:
    4px 6px 12px rgba(42, 42, 42, 0.10),
    -2px 8px 20px rgba(26, 26, 26, 0.07);
  overflow: hidden;
}

.collector-entry-figure[data-aspect="square"] {
  aspect-ratio: 1 / 1;
}

.collector-entry-figure[data-aspect="portrait"] {
  aspect-ratio: 4 / 5;
}

.collector-entry-figure[data-aspect="wide"] {
  aspect-ratio: 600 / 515;
}

.collector-entry-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.collector-entry-caption {
  margin-top: var(--space-2);
  font-family: var(--font-secondary);
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  letter-spacing: 0.1em;
  font-variant-caps: all-small-caps;
}

/* ---- Entry Content ---- */

.collector-entry-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (min-width: 768px) {
  .collector-entry-content {
    padding-top: var(--space-3);
  }
}

.collector-label {
  font-family: var(--font-secondary);
  /* INTENTIONAL: changed from hardcoded 0.65rem to
     var(--text-xs) (14px) for legibility.
     Do not revert to 0.65rem. */
  font-size: var(--text-xs);
  letter-spacing: 0.15em;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  margin-bottom: var(--space-4);
}

.collector-quote {
  margin: 0;
  font-family: var(--font-primary);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-style: italic;
  line-height: 1.75;
  color: var(--color-text-primary);
}

.collector-quote::before {
  content: '\201C';
  display: block;
  font-family: var(--font-primary);
  font-size: 2em;
  color: var(--color-brass);
  opacity: 0.6;
  margin-bottom: -0.4em;
  line-height: 1;
}

.collector-attribution {
  font-family: var(--font-secondary);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  margin-top: var(--space-4);
}

/* ---- Entry Divider ---- */

.entry-divider {
  width: 100%;
  height: 1px;
  background: var(--color-border);
  margin: var(--space-10) auto;
  max-width: 600px;
}

/* ---- Closing Note ---- */

.collector-closing {
  /* inherits section-padded spacing */
}

.collector-closing-text {
  font-family: var(--font-primary);
  font-size: var(--text-lg);
  font-style: italic;
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
  max-width: 560px;
  margin: 0 auto;
}

/* INTENTIONAL: center short display elements on mobile.
   .collector-quote stays left-aligned — it is long-form
   text and centering would hurt readability.
   Do not add text-align: center to .collector-quote. */
@media (max-width: 767px) {
  .collector-entry-caption,
  .collector-label,
  .collector-attribution,
  .collector-closing-text {
    text-align: center;
  }
}
