/* Import entry styles */
@import url("access-denied.css");
@import url("badge.css");
@import url("card.css");
@import url("confidence.css");
@import url("description.css");
@import url("entry.css");
@import url("events.css");
@import url("family.css");
@import url("headline.css");
@import url("history.css");
@import url("info.css");
@import url("modal.css");
@import url("notes.css");
@import url("photo.css");
@import url("section.css");
@import url("tag.css");
@import url("filter.css");
@import url("highlight.css");
@import url("statistics.css");
@import url("last-update.css");
@import url("new-content.css");
@import url("sticky.css");

/* Reset and base styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Open Sans', 'Helvetica Neue', sans-serif;
  line-height: 1.6;
  color: #1a1a1a;
  background-color: #fff;
  background-image: url("/images/bg.jpg");
  font-size: 16px;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  background-color: transparent;
}

/* Magazine Header/Masthead */
.header {
  background-color: transparent;
  padding: 20px 0;
  text-align: center;
}

.header-lines {
  margin-bottom: 15px;
}

.header-line:first-child {
  height: 5px;
  background-color: #000;
  margin-bottom: 3px;
}

.header-line:not(:first-child) {
  height: 2px;
  background-color: #000;
  margin-bottom: 2px;
}

.site-title {
  margin-bottom: 10px;
}

.site-title a {
  text-decoration: none;
  color: #000;
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 8px;
  text-transform: uppercase;
  font-family: 'Times New Roman', serif;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
}

.site-title a:hover {
  color: #666;
}

.site-logo {
  height: 80px;
  margin-right: 10px;
}

.header-info {
  font-size: 0.85rem;
  color: #000;
  margin-bottom: 20px;
  font-weight: 500;
}

.header-dot {
  margin: 0 8px;
  font-weight: bold;
}

/* Navigation */
.nav {
  border-top: 2px solid #333;
  border-bottom: 2px solid #333;
}

.nav-list {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

.nav-item {
  border-right: 1px solid #333;
  padding: 0 20px;
  margin: 8px 0;
}

.nav-item:last-child {
  border-right: none;
}

.nav-link {
  text-decoration: none;
  color: #000;
  font-weight: bold;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.nav-link:hover,
.nav-link.active {
  color: #666;
}

/* Main content */
.main {
  padding: 30px 0;
  background-color: transparent;
}

/* Magazine-style layout */
.content {
  column-count: 2;
  column-gap: 40px;
  column-rule: 1px solid #ccc;
  text-align: justify;
  line-height: 1.7;
}

/* Headlines */
.content h1 {
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 1rem;
  column-span: all;
  text-align: left;
  color: #000;
  font-family: 'Times New Roman', serif;
  line-height: 1.2;
  margin-top: 0;
}

.content h2 {
  font-size: 2rem;
  font-weight: bold;
  margin: 30px 0 15px;
  color: #000;
  font-family: 'Times New Roman', serif;
  line-height: 1.3;
  break-after: avoid;
}

.content h3 {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 20px 0 10px;
  color: #000;
  font-family: 'Times New Roman', serif;
  line-height: 1.3;
  break-after: avoid;
}

/* Subtitle style */
.content h2 + p:first-of-type {
  font-style: italic;
  font-weight: 500;
  color: #333;
  margin-bottom: 15px;
  border-bottom: 1px solid #333;
  padding-bottom: 10px;
}

.content h4,
.content h5,
.content h6 {
  font-weight: bold;
  margin: 15px 0 8px;
  break-after: avoid;
  font-family: 'Times New Roman', serif;
}

.content p {
  margin-bottom: 15px;
  break-inside: avoid;
  text-indent: 0;
  hyphens: auto;
}

/* Drop cap for first paragraph */
.content > p:first-of-type::first-letter {
  float: left;
  font-size: 4rem;
  line-height: 3rem;
  padding-right: 8px;
  margin-top: 4px;
  font-weight: bold;
  color: #000;
  font-family: 'Times New Roman', serif;
}

.content ul,
.content ol {
  margin-bottom: 15px;
  padding-left: 25px;
  break-inside: avoid;
  text-align: left;
}

.content li {
  margin-bottom: 8px;
}

/* Global link styles */
a {
  color: #000;
  transition: color 0.2s ease;
}

a:hover {
  color: #666;
}

.content a {
  color: #000;
  text-decoration: underline;
}

.content a:hover {
  color: #666;
}

/* Magazine-style blockquotes */
.content blockquote {
  float: right;
  width: 40%;
  margin: 15px 0 15px 25px;
  padding: 20px;
  border-left: 4px solid #000;
  background-color: #f8f8f8;
  font-size: 1.1rem;
  font-style: italic;
  break-inside: avoid;
  position: relative;
  hyphens: auto;
}

.content blockquote p {
  margin-bottom: 0;
  text-indent: 0;
}

.content img {
  max-width: 100%;
  height: auto;
  margin: 20px 0;
  break-inside: avoid;
  border: 1px solid #ddd;
}

/* Article meta information */
.meta {
  font-style: italic;
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 15px;
  text-align: center;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}

/* Article listings */
article {
  break-inside: avoid;
  margin-bottom: 25px;
  padding-bottom: 15px;
  border-bottom: 1px solid #eee;
}

article h3 {
  margin-bottom: 8px;
  font-size: 1.3rem;
}

article p {
  text-indent: 0;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* Footer */
.footer {
  background-color: #1a1a1a;
  color: #fff;
  padding: 30px 0;
  text-align: center;
  border-top: 2px solid #000;
  font-size: 0.9rem;
  margin-top: 40px;
}

.footer .container {
  background-color: transparent;
}

.footer-link {
  color: #fff;
}

/* Responsive design */
@media (max-width: 768px) {
  .container {
    padding: 0 20px;
  }

  .header {
    padding: 15px 0;
  }

  .site-title a {
    flex-direction: column;
    font-size: 2.5rem;
    letter-spacing: 4px;
  }

  .header-info {
    font-size: 0.8rem;
  }

  .nav-list {
    flex-direction: column;
    gap: 0;
  }

  .nav-item {
    border-right: none;
    border-bottom: 1px solid #333;
    padding: 0;
    margin: 0;
    width: 100%;
  }

  .nav-item:last-child {
    border-bottom: none;
  }

  .content {
    column-count: 1;
    column-rule: none;
  }

  .content h1 {
    font-size: 2rem;
  }

  .content h2 {
    font-size: 1.6rem;
  }

  .content blockquote {
    float: none;
    width: 100%;
    margin: 20px 0;
  }

  .content > p:first-of-type::first-letter {
    font-size: 3rem;
    line-height: 2.5rem;
  }
}

/* Print styles */
@media print {
  body {
    background-color: #fff;
  }

  .container {
    box-shadow: none;
    max-width: none;
  }

  .header-lines,
  .nav {
    display: block;
  }
}

.page-content {
  margin-top: 40px;
}

.block {
  margin: 2rem 0;
}

.block p {
  margin-bottom: 1rem;
  hyphens: auto;
  text-align: justify;
}

.block p:last-child {
  margin-bottom: 0;
}

.block .photos-grid {
  padding: 0;
}

#block-biography {
  text-align: justify;
}

#block-biography p {
  hyphens: auto;
}

/* Responsive design for person pages */
@media (max-width: 768px) {
  .block {
    margin: 1rem 0;
  }
}

.subtitle {
  font-family: 'Times New Roman', serif;
  font-size: 1.2rem;
  font-weight: normal;
  font-style: italic;
  color: #555;
  margin: 0;
  letter-spacing: 1px;
  text-align: center;
}

@media (max-width: 768px) {
  .subtitle {
    font-size: 1rem;
  }
}
