/*
 * static-page.css — delta stylesheet for CMS / static content pages
 *
 * Loaded AFTER styles.css, site-chrome.css?v=2, and exhibitions-city.css
 * (.page-main, .page-inner, .page-title, .page-intro, .ec-breadcrumbs).
 */

/* ── Prose body (match .ed-description / gallery body on detail pages) ─────── */
/* styles.css sets body, p, div, span → --font-ui (IBM Plex Sans); override here. */
.static-page-prose,
.static-page-prose p,
.static-page-prose div,
.static-page-prose span,
.static-page-prose li,
.static-page-prose blockquote,
.static-page-prose section,
.static-page-prose .content-container,
.static-page-prose .content-container p,
.static-page-prose .content-container div,
.static-page-prose .content-container span,
.static-page-prose .content-container li {
  font-family: var(--font-body, 'Newsreader', serif) !important;
  font-size: 19px;
  line-height: 1.45;
  color: var(--color-ink-2, #3a3128);
}

.static-page-prose {
  max-width: 72ch;
}

.static-page-prose > * + * {
  margin-top: 1.25rem;
}

.static-page-prose section + section {
  margin-top: 2rem;
}

.static-page-prose h2,
.static-page-prose h3 {
  font-family: var(--font-display, 'Instrument Serif', serif) !important;
  font-weight: 400 !important;
  font-style: italic;
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  line-height: 1.15;
  letter-spacing: -0.25px;
  color: var(--color-ink, #1a1612) !important;
  margin: 1.5em 0 0.5em;
}

.static-page-prose h2:first-child,
.static-page-prose section:first-child h2 {
  margin-top: 0;
}

.static-page-prose p {
  margin: 0;
}

.static-page-prose p + p {
  margin-top: 1em;
}

.static-page-prose ul,
.static-page-prose ol {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
}

.static-page-prose li + li {
  margin-top: 0.375rem;
}

.static-page-prose a {
  color: var(--color-ink, #1a1612);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.static-page-prose a:hover {
  opacity: 0.75;
}

.static-page-prose strong {
  font-weight: 600;
  color: var(--color-ink, #1a1612);
}

/* ── Last updated meta ──────────────────────────────────────────────────────── */
.static-page-meta {
  margin-top: 2.5rem;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--color-muted, #8a7e6f);
}

/* ── Legacy Tailwind class overrides (CMS DB content) ─────────────────────── */
.static-page-prose .text-2xl {
  font-family: var(--font-display, 'Instrument Serif', serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  line-height: 1.15;
  letter-spacing: -0.25px;
  color: var(--color-ink, #1a1612);
}

.static-page-prose .text-xl {
  font-family: var(--font-body, 'Newsreader', serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--color-ink, #1a1612);
}

.static-page-prose .text-lg {
  font-size: 1.0625rem;
  line-height: 1.55;
}

.static-page-prose .text-sm {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--color-muted, #8a7e6f);
}

.static-page-prose .text-gray-900,
.static-page-prose .text-gray-800 {
  color: var(--color-ink, #1a1612);
}

.static-page-prose .text-gray-600,
.static-page-prose .text-gray-500 {
  color: var(--color-ink-2, #3a3128);
}

.static-page-prose .font-semibold {
  font-weight: 600;
}

.static-page-prose .mb-4 { margin-bottom: 0.75rem; }
.static-page-prose .mt-4 { margin-top: 1.25rem; }
.static-page-prose .pt-4 { padding-top: 0.5rem; }

.static-page-prose .space-y-4 > * + * { margin-top: 1.25rem; }
.static-page-prose .space-y-2 > * + * { margin-top: 0.375rem; }

.static-page-prose .list-disc { list-style-type: disc; }
.static-page-prose .list-inside { list-style-position: inside; }
.static-page-prose .ml-4 { margin-left: 0; padding-left: 1.25rem; }

.static-page-prose .text-blue-600,
.static-page-prose .text-black {
  color: var(--color-ink, #1a1612);
}

.static-page-prose .hover\:text-blue-800:hover,
.static-page-prose .hover\:text-gray-700:hover {
  opacity: 0.75;
}

.static-page-prose .underline {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ── Newsletter page ────────────────────────────────────────────────────────── */
.newsletter-panel {
  max-width: 42rem;
  margin-top: 0.5rem;
  padding: 1.5rem;
  border: 1px solid var(--border, #e5e0d8);
  background: var(--bg-card, #faf9f7);
}

.newsletter-panel__label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
  font-family: var(--font-body, 'Newsreader', serif);
  font-size: 1.0625rem;
  line-height: 1.45;
  color: var(--color-ink, #1a1612);
}

.newsletter-panel__label input[type="checkbox"] {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.2rem;
  flex-shrink: 0;
  accent-color: var(--color-ink, #1a1612);
}

.newsletter-panel__hint {
  margin-top: 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--color-muted, #8a7e6f);
}

.newsletter-signin-prompt {
  max-width: 42rem;
  font-family: var(--font-body, 'Newsreader', serif);
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--color-ink-2, #3a3128);
}

.newsletter-signin-prompt a {
  color: var(--color-ink, #1a1612);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.newsletter-status {
  margin-top: 0.75rem;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--color-muted, #8a7e6f);
}

.newsletter-status.is-error { color: #b45309; }
.newsletter-status.is-success { color: #065f46; }

/* ── Pricing page chrome (For galleries) ────────────────────────────────────── */
.pricing-page-inner {
  max-width: 1480px;
}

.pricing-page-inner .pricing-table-wrapper {
  margin-top: 0.5rem;
}
