/* SECONDARY PAGES STYLES - EDITORIAL & SOBER */

:root {
  --color-text: #1a1a1a;
  --color-text-light: #555555;
  --color-bg: #f9f9f9;
  --color-bg-white: #ffffff;
  --color-border: #e0e0e0;
  --color-accent: #000000;
  
  --font-serif: 'Playfair Display', serif;
  --font-sans: 'Inter', sans-serif;
  
  --spacing-sm: 1rem;
  --spacing-md: 2rem;
  --spacing-lg: 4rem;
  --spacing-xl: 8rem;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
  color: var(--color-text);
  background-color: var(--color-bg);
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 400;
  margin-top: 0;
  margin-bottom: var(--spacing-sm);
  color: var(--color-accent);
}

h1 { font-size: 2.5rem; line-height: 1.2; }
h2 { font-size: 2rem; line-height: 1.3; }
h3 { font-size: 1.5rem; line-height: 1.4; }

p { margin-top: 0; margin-bottom: var(--spacing-md); }
a { color: var(--color-text); text-decoration: none; border-bottom: 1px solid var(--color-border); transition: border-color 0.3s ease; }
a:hover { border-color: var(--color-accent); }

/* Layout Containers */
.page-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: var(--spacing-xl) var(--spacing-md);
}

.section {
  margin-bottom: var(--spacing-xl);
}

/* Utilities */
.text-center { text-align: center; }
.text-small { font-size: 0.875rem; color: var(--color-text-light); }
.uppercase { text-transform: uppercase; letter-spacing: 1px; font-size: 0.8rem; }
.eyebrow { display: block; font-family: var(--font-sans); font-size: 0.75rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--color-text-light); margin-bottom: var(--spacing-sm); }

/* Placeholders */
.placeholder-img {
  background-color: #e5e5e5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-light);
  font-family: var(--font-sans);
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  border: 1px solid var(--color-border);
  text-align: center;
  padding: 1rem;
}
.aspect-landscape { aspect-ratio: 16 / 9; width: 100%; }
.aspect-portrait { aspect-ratio: 3 / 4; width: 100%; }
.aspect-square { aspect-ratio: 1 / 1; width: 100%; }
.aspect-hero { aspect-ratio: 21 / 9; width: 100%; }

/* Grid Systems */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--spacing-lg); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--spacing-md); }

/* Components */
.artwork-card { margin-bottom: var(--spacing-lg); }
.artwork-caption { font-size: 0.875rem; margin-top: var(--spacing-sm); color: var(--color-text-light); }
.artwork-caption strong { color: var(--color-text); font-weight: 500; }

.btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--color-accent);
  background-color: transparent;
  color: var(--color-accent);
  font-family: var(--font-sans);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-right: 1rem;
  margin-bottom: 1rem;
}
.btn:hover { background-color: var(--color-accent); color: var(--color-bg-white); }
.btn-primary { background-color: var(--color-accent); color: var(--color-bg-white); }
.btn-primary:hover { background-color: transparent; color: var(--color-accent); }

.metadata-list { list-style: none; padding: 0; margin: 0 0 var(--spacing-md) 0; }
.metadata-list li { margin-bottom: 0.5rem; font-size: 0.875rem; }

.exhibitions-table { width: 100%; border-collapse: collapse; margin-bottom: var(--spacing-lg); }
.exhibitions-table th, .exhibitions-table td { text-align: left; padding: 1rem 0; border-bottom: 1px solid var(--color-border); }
.exhibitions-table th { font-family: var(--font-sans); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 1px; color: var(--color-text-light); }

.contact-form { display: grid; gap: var(--spacing-md); max-width: 600px; }
.contact-form input, .contact-form textarea { width: 100%; padding: 1rem; border: 1px solid var(--color-border); font-family: var(--font-sans); background-color: transparent; }
.contact-form textarea { min-height: 150px; resize: vertical; }

/* Mobile */
@media (max-width: 768px) {
  .page-container { padding: var(--spacing-lg) var(--spacing-sm); }
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }
}
