/* ============================================================
   Ayo Gorkhali — Custom CSS
   Tailwind handles most styling; this file covers:
   - Drop cap (CSS pseudo-element)
   - Pull quote block
   - Info box grid
   - Article body prose overrides
   - Utility helpers
   ============================================================ */

/* ----------------------------------------------------------
   Drop Cap — applied to first paragraph of article body
   ---------------------------------------------------------- */
.article-body > p:first-child::first-letter,
p.drop-cap::first-letter {
  float: left;
  font-size: 5.5rem;
  line-height: 0.8;
  padding-right: 12px;
  padding-top: 4px;
  font-family: 'Newsreader', Georgia, serif;
  color: #b1002c;
  font-weight: 800;
}

/* ----------------------------------------------------------
   Pull Quote — inserted via TinyMCE custom style format
   ---------------------------------------------------------- */
.article-body blockquote.pull-quote,
blockquote.pull-quote {
  position: relative;
  padding: 3rem 0 3rem 2rem;
  margin: 3rem 0;
  border-left: 4px solid #b1002c;
  background-color: rgba(235, 238, 243, 0.5);
  font-style: italic;
}

blockquote.pull-quote .pull-quote-mark {
  position: absolute;
  top: 0.5rem;
  left: 1rem;
  font-size: 6rem;
  font-family: 'Newsreader', Georgia, serif;
  color: rgba(177, 0, 44, 0.1);
  line-height: 1;
  select: none;
  pointer-events: none;
  user-select: none;
}

blockquote.pull-quote p,
blockquote.pull-quote {
  font-size: 1.75rem;
  line-height: 1.3;
  font-family: 'Newsreader', Georgia, serif;
  font-weight: 700;
  color: #181c20;
  font-style: italic;
}

blockquote.pull-quote cite {
  display: block;
  margin-top: 1rem;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #b1002c;
  font-style: normal;
  font-weight: 600;
}

/* ----------------------------------------------------------
   Info Box Grid — 2-column grid of info blocks
   ---------------------------------------------------------- */
.info-box-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin: 3rem 0;
}

@media (max-width: 640px) {
  .info-box-grid {
    grid-template-columns: 1fr;
  }
}

.info-box {
  padding: 2rem;
  background-color: #ffffff;
  border: 1px solid rgba(230, 189, 188, 0.1);
  border-radius: 0.125rem;
}

.info-box h3 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  color: #181c20;
}

.info-box p {
  font-size: 0.875rem;
  font-family: 'Work Sans', system-ui, sans-serif;
  color: #5c3f3f;
  line-height: 1.6;
}

/* ----------------------------------------------------------
   Article body — paragraph spacing + headings
   ---------------------------------------------------------- */
.article-body p {
  margin-bottom: 1.5rem;
  font-family: 'Work Sans', system-ui, sans-serif;
  font-size: 1.125rem;
  line-height: 1.8;
  color: #181c20;
}

.article-body p + p {
  color: #5c3f3f;
}

.article-body h2 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 1.875rem;
  font-weight: 700;
  margin: 2.5rem 0 1rem;
  color: #181c20;
}

.article-body h3 {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 2rem 0 0.75rem;
  color: #181c20;
}

.article-body a {
  color: #b1002c;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.article-body a:hover {
  color: #dc143c;
}

.article-body ul,
.article-body ol {
  margin: 1.5rem 0 1.5rem 1.5rem;
  font-family: 'Work Sans', system-ui, sans-serif;
  font-size: 1.0625rem;
  color: #5c3f3f;
}

.article-body ul {
  list-style-type: disc;
}

.article-body ol {
  list-style-type: decimal;
}

.article-body li {
  margin-bottom: 0.5rem;
  line-height: 1.7;
}

.article-body em {
  font-style: italic;
}

.article-body strong {
  font-weight: 700;
  color: #181c20;
}

/* ----------------------------------------------------------
   Material Symbols — filled variant helper
   ---------------------------------------------------------- */
.material-symbols-outlined.filled {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* ----------------------------------------------------------
   Search highlight
   ---------------------------------------------------------- */
mark {
  background-color: #ffdad9;
  color: #181c20;
  font-weight: 700;
  border-radius: 2px;
  padding: 0 2px;
}

/* ----------------------------------------------------------
   Smooth scroll
   ---------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}

/* ----------------------------------------------------------
   Admin panel overrides (scoped to admin body)
   ---------------------------------------------------------- */
body.admin-body {
  background-color: #f1f4f9;
}

body.admin-body .admin-sidebar a.active {
  background-color: rgba(177, 0, 44, 0.1);
  color: #b1002c;
  font-weight: 600;
}
