/*
 * Phuket Analytics typography polish.
 *
 * This layer deliberately does not change font families, colors, card geometry,
 * charts, tables or the homepage display composition. It only normalizes the
 * quiet editorial text roles that had drifted between template generations.
 */
:root {
  --pa-type-meta: 11px;
  --pa-type-card-copy: 15px;
  --pa-type-reading: 18px;
  --pa-leading-tight: 1.1;
  --pa-leading-copy: 1.55;
  --pa-leading-reading: 1.65;
}

/* Approved section directories: News, Analytics, Guides, Tools and Knowledge. */
.news-index :where(.edition-label, time, [class*="meta"], [class*="date"]),
.reports-shell :where(.edition-label) {
  font-size: var(--pa-type-meta) !important;
  line-height: 1.45 !important;
}

.news-index :where(.news-weekly-report-deck, .story-deck),
.reports-shell :where(.report-card-meta) {
  line-height: var(--pa-leading-copy) !important;
}

.news-index :where(.news-weekly-report-deck, .story-deck) {
  font-size: var(--pa-type-card-copy) !important;
}

.reports-shell .report-card-meta {
  font-size: 14px !important;
}

.guides-site .guides-hero > div:last-child {
  color: #59645e !important;
}

.guides-site .guide-card-meta {
  font-size: var(--pa-type-meta) !important;
  line-height: 1.45 !important;
}

.guides-site :where(.guide-feature p, .guide-card p, .guides-section-head p) {
  color: #59645e !important;
  line-height: var(--pa-leading-copy) !important;
}

.tools-site .tools-hero > p:last-child {
  color: #59645e !important;
  line-height: var(--pa-leading-copy) !important;
}

.tools-site .tools-section-label {
  font-size: var(--pa-type-meta) !important;
  line-height: 1.45 !important;
}

.tools-site .tool-card > div > p:last-child {
  color: #59645e !important;
  font-size: var(--pa-type-card-copy) !important;
  line-height: var(--pa-leading-copy) !important;
}

.knowledge-site .knowledge-hero > div {
  color: #59645e !important;
  line-height: 1.5 !important;
}

.knowledge-site .knowledge-documents-panel > div > p {
  color: #59645e !important;
  line-height: 1.58 !important;
}

.knowledge-site .knowledge-document-list h3 {
  line-height: var(--pa-leading-tight) !important;
}

.knowledge-site .knowledge-document-list p {
  color: #59645e !important;
  font-size: var(--pa-type-card-copy) !important;
  line-height: var(--pa-leading-copy) !important;
}

.knowledge-site .knowledge-document-list strong {
  font-size: 14px !important;
}

.news-index :where(.story-card h2),
.reports-shell :where(h2, h3),
.guides-site :where(.guide-feature h2, .guide-card h3),
.tools-site .tool-card h2 {
  line-height: var(--pa-leading-tight) !important;
}

/*
 * Reading pages keep their existing, template-specific hierarchy for now.
 * Their decks, leads and body copy are intentionally not normalized by a
 * shared selector: several editorial templates use those roles differently.
 */
.news-article :where(.article-meta, .article-source),
.publication-site :where([class*="_meta_"], [class*="_kicker_"]) {
  line-height: 1.45 !important;
}

.news-article .article-deck {
  color: #59645e !important;
  line-height: 1.55 !important;
}

.news-article .article-body-section > p {
  color: #3f4c47 !important;
  font-size: var(--pa-type-reading) !important;
  line-height: var(--pa-leading-reading) !important;
}

.news-article .article-body-section > h2,
.news-article .related-stories strong {
  line-height: var(--pa-leading-tight) !important;
}

.news-article :where(.article-source p, .telegram-follow p) {
  line-height: 1.52 !important;
}

/* Shared shell copy should not fall below a readable supporting size. */
.publication-footer-copy,
.publication-brand small {
  line-height: 1.4;
}

@media (max-width: 720px) {
  :root {
    --pa-type-card-copy: 16px;
    --pa-type-reading: 17px;
    --pa-leading-tight: 1.12;
    --pa-leading-copy: 1.5;
    --pa-leading-reading: 1.62;
  }

  .reports-shell .report-card-meta {
    font-size: 15px !important;
  }

  .guides-site :where(.guide-feature p, .guide-card p, .guides-section-head p) {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .tools-site :where(.tools-hero > p:last-child, .tool-card > div > p:last-child) {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .knowledge-site :where(.knowledge-hero > div, .knowledge-documents-panel > div > p, .knowledge-document-list p) {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .knowledge-site .knowledge-document-list h3 {
    font-size: 25px !important;
    line-height: var(--pa-leading-tight) !important;
  }

  .news-article .article-deck {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  .news-article .article-body-section > p {
    font-size: var(--pa-type-reading) !important;
    line-height: var(--pa-leading-reading) !important;
  }

}
