/* ==========================================================================
   PAKVISAGUIDE — CUSTOM / OVERRIDE STYLES
   Enqueued after the main style.css (functions.php → pvg_theme_scripts()).
   Use this file for anything Tailwind utilities + the main style.css design
   tokens can't express. Keep it small — most new UI should be buildable with
   existing Tailwind classes and the shared tokens/components in style.css.
   ========================================================================== */

/* ---------- Blog post content typography (single.php) ----------
   Real post content comes straight from the WP editor as plain HTML
   (h2/p/ul/etc. with no Tailwind classes on it). Tailwind's CDN preflight
   resets all heading font-sizes/margins, so without this, every heading
   in a post renders the same size as body text. Scoped to .pvg-post-content
   so it never affects the theme's own hand-built pages.

   !important is used throughout to win against Tailwind CDN preflight,
   which injects its own reset at runtime after our stylesheet loads. */

.pvg-post-content h2 {
  font-family: "Fraunces", serif !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  font-size: 1.75rem !important;
  line-height: 1.25 !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}
.pvg-post-content h3 {
  font-family: "Fraunces", serif !important;
  font-weight: 600 !important;
  color: var(--navy) !important;
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
  margin-top: 2rem !important;
  margin-bottom: 0.75rem !important;
}
.pvg-post-content h4 {
  font-family: "Fraunces", serif !important;
  font-weight: 600 !important;
  color: var(--navy) !important;
  font-size: 1.125rem !important;
  line-height: 1.4 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.5rem !important;
}
.pvg-post-content p {
  margin-bottom: 1.25rem !important;
  line-height: 1.8 !important;
  color: rgba(15, 27, 20, 0.75) !important;
}
.pvg-post-content ul,
.pvg-post-content ol {
  margin: 0 0 1.5rem 1.5rem !important;
  padding-left: 0.5rem !important;
}
.pvg-post-content ul {
  list-style: disc !important;
}
.pvg-post-content ol {
  list-style: decimal !important;
}
.pvg-post-content li {
  margin-bottom: 0.6rem !important;
  line-height: 1.75 !important;
  color: rgba(15, 27, 20, 0.75) !important;
}
.pvg-post-content li::marker {
  color: var(--pink) !important;
}
.pvg-post-content a {
  color: var(--pink) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-thickness: 1px !important;
}
.pvg-post-content a:hover {
  color: var(--pink-dark) !important;
}
.pvg-post-content blockquote {
  border-left: 3px solid var(--pink) !important;
  padding-left: 1.25rem !important;
  font-style: italic !important;
  color: rgba(15, 27, 20, 0.65) !important;
  margin: 1.5rem 0 !important;
}
.pvg-post-content img {
  border-radius: 16px !important;
  margin: 1.5rem 0 !important;
  max-width: 100% !important;
  height: auto !important;
}
.pvg-post-content strong {
  color: var(--navy) !important;
  font-weight: 700 !important;
}
.pvg-post-content hr {
  border: none !important;
  border-top: 1px solid var(--line) !important;
  margin: 2.5rem 0 !important;
}

/* First heading in content should not have top margin */
.pvg-post-content > h2:first-child,
.pvg-post-content > .wp-block-heading:first-child {
  margin-top: 0 !important;
}

/* Scroll-margin so anchored headings aren't hidden behind the sticky header */
.pvg-post-content h2[id],
.pvg-post-content h3[id] {
  scroll-margin-top: 6.5rem !important;
}

/* WP editor tables — clean, readable formatting */
.pvg-post-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1.5rem 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
}
.pvg-post-content th {
  background: var(--mist) !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  text-align: left !important;
}
.pvg-post-content th,
.pvg-post-content td {
  padding: 0.75rem 1rem !important;
  border: 1px solid var(--line) !important;
  vertical-align: top !important;
}
.pvg-post-content tr:nth-child(even) td {
  background: rgba(241, 245, 244, 0.4) !important;
}

/* WP figure captions */
.pvg-post-content figcaption {
  font-size: 0.8rem !important;
  color: rgba(15, 27, 20, 0.45) !important;
  text-align: center !important;
  margin-top: 0.5rem !important;
}

/* WP block separator */
.pvg-post-content .wp-block-separator {
  border: none !important;
  border-top: 1px solid var(--line) !important;
  margin: 2rem 0 !important;
}

/* Author avatar fallback (Gravatar default) */
.pvg-author-avatar {
  width: 36px;
  height: 36px;
  border-radius: 9999px;
  object-fit: cover;
}
