/* ============================================
   THORIUMAI LABS — Typography System
   Premium Institutional-Grade Type Hierarchy
   ============================================ */

/* ── Font System Variables ── */
:root {
  --serif: 'Playfair Display', 'Libre Baskerville', serif;
  --sans: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* ── Base Body Typography ── */
body {
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

/* ── Heading Hierarchy (Serif for H1-H3) ── */
h1, .h1 {
  font-family: var(--serif);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
}

h2, .h2 {
  font-family: var(--serif);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0.01em;
}

h3, .h3 {
  font-family: var(--serif);
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

h4, .h4 {
  font-family: var(--sans);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
}

h5, .h5 {
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
}

h6, .h6 {
  font-family: var(--sans);
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.4;
}

/* ── Body Text ── */
p {
  line-height: 1.6;
}

/* ── Micro Labels (chips, tabs, nav labels) ── */
.micro-label {
  font-family: var(--sans);
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

/* ── Button Typography ── */
button, .btn, [type="submit"], [type="button"] {
  font-family: var(--sans);
  letter-spacing: 0.02em;
}

/* ── Input Typography ── */
input, textarea, select {
  font-family: var(--sans);
}

input::placeholder,
textarea::placeholder {
  font-weight: 300;
}

/* ── Card Typography Polish ── */
.article-card h2,
.feed-post-link-preview-title,
.pro-card-title,
.dash-profile-name,
.pub-ai-headline,
.pub-project-title,
.pro-profile-name,
.people-title,
.network-page-title,
.pro-hero-title,
.pro-bottom-cta-title,
.auth-title,
.dashboard-auth-wall h2 {
  font-family: var(--serif);
  letter-spacing: 0.01em;
}

/* ── Metadata Text (dates, usernames, counts) ── */
.feed-post-time,
.feed-post-author-headline,
.article-meta,
.pub-exp-period,
.pub-edu-year,
.pub-location,
.pub-cert-status,
.dash-activity-date,
.dash-profile-location,
.dash-profile-source,
.net-user-meta,
.hero-date,
.nav-date,
.pro-hero-note {
  font-size: 0.85rem;
  font-weight: 400;
  opacity: 0.75;
  line-height: 1.4;
}

/* ── Section Labels / Eyebrows ── */
.hero-eyebrow,
.auth-eyebrow,
.network-page-eyebrow,
.pro-hero-eyebrow,
.article-tag,
.section-rule span,
.footer-col-title,
.stat-label,
.dash-section-title,
.dash-card-title,
.profile-section-title,
.pro-profile-section-title,
.pro-profile-ai-title,
.pub-section-title,
.social-sidebar-title,
.net-section-heading {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

/* ── Navigation Labels ── */
.nav-links a {
  font-family: var(--sans);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

/* ── Tab Labels ── */
.network-tab,
.net-tab {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.network-tab--active,
.net-tab--active {
  font-weight: 600;
}

/* ── Card Internal Consistency ── */
.article-card,
.feed-post,
.pro-card,
.dash-card,
.people-card,
.pub-project-card,
.pro-profile-project-card,
.pro-profile-role-card,
.pro-profile-ai-card {
  font-family: var(--sans);
}

/* ── Feed Content ── */
.feed-post-content {
  font-family: var(--sans);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* ── Body Small / Meta ── */
.people-card-headline,
.net-user-headline,
.pro-card-desc,
.pro-feature-row,
.pub-exp-desc,
.feed-comment-content,
.pub-project-desc,
.pro-profile-project-desc,
.auth-link,
.auth-gate-sub,
.dash-recommendation {
  font-family: var(--sans);
  font-size: 0.85rem;
  line-height: 1.5;
}

/* ── Sidebar Profile ── */
.social-sidebar-profile-name {
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 600;
}

.social-sidebar-profile-headline {
  font-family: var(--sans);
  font-size: 0.75rem;
}

/* ── Sidebar Nav ── */
.social-sidebar-nav a {
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 500;
}

/* ── People Card Names ── */
.people-card-name {
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 600;
}

/* ── Net User Names ── */
.net-user-name {
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 600;
}

/* ── Feed Post Author ── */
.feed-post-author-name {
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 600;
}

/* ── Hero Headline (Serif) ── */
.hero-headline {
  font-family: var(--serif);
  line-height: 1.05;
  letter-spacing: -0.01em;
}

/* ── Hero Deck ── */
.hero-deck {
  font-family: var(--sans);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
}

/* ── Article Body ── */
.article-body p {
  font-family: var(--sans);
  font-size: 1.125rem;
  line-height: 1.7;
}

.article-body h2 {
  font-family: var(--serif);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

.article-body .lead {
  font-family: var(--sans);
  font-size: 1.25rem;
  line-height: 1.6;
}

/* ── Article Card Titles ── */
.article-card h2 {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
}

.article-card--lead h2 {
  font-size: 1.75rem;
}

/* ── Article Deck ── */
.article-deck {
  font-family: var(--sans);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* ── Pub Name (Public Profile) ── */
.pub-name {
  font-family: var(--serif);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
}

/* ── Pub Headline ── */
.pub-headline {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.5;
}

/* ── Pub AI Headline ── */
.pub-ai-headline {
  font-family: var(--serif);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3;
}

/* ── Pub AI Summary ── */
.pub-ai-summary p,
.pub-summary-text p {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.65;
}

/* ── Pro Hero ── */
.pro-hero-title {
  font-family: var(--serif);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.pro-hero-subtitle {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.6;
}

/* ── Pro CTA ── */
.pro-bottom-cta-title {
  font-family: var(--serif);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.15;
}

.pro-bottom-cta-desc {
  font-family: var(--sans);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* ── Dashboard Profile Name ── */
.dash-profile-name {
  font-family: var(--serif);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
}

/* ── Dashboard Profile Headline ── */
.dash-profile-headline {
  font-family: var(--sans);
  font-size: 0.95rem;
  line-height: 1.5;
}

/* ── Auth Title ── */
.auth-title {
  font-family: var(--serif);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
}

/* ── Auth Subtitle ── */
.auth-subtitle {
  font-family: var(--sans);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* ── Footer Brand ── */
.footer-brand p {
  font-family: var(--sans);
  font-size: 0.95rem;
  line-height: 1.6;
}

.footer-col a {
  font-family: var(--sans);
  font-size: 0.875rem;
}

/* ── Footer Bottom ── */
.footer-bottom {
  font-family: var(--sans);
  font-size: 0.85rem;
}

/* ── Pro Profile Name ── */
.pro-profile-name {
  font-family: var(--serif);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
}

.pro-profile-headline {
  font-family: var(--sans);
  font-size: 0.95rem;
  line-height: 1.5;
}

/* ── Experience / Education ── */
.pub-exp-title,
.pub-edu-degree {
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 600;
}

.pub-exp-company,
.pub-edu-school {
  font-family: var(--sans);
  font-size: 0.875rem;
}

/* ── Pro Profile Role Value ── */
.pro-profile-role-value {
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
}

/* ── Search Inputs ── */
.people-search-input,
.feed-comment-input,
.aih-text-input {
  font-family: var(--sans);
}

.people-search-input::placeholder,
.feed-comment-input::placeholder,
.aih-text-input::placeholder {
  font-weight: 300;
}

/* ── Auth Inputs ── */
.auth-input,
.profile-field-input {
  font-family: var(--sans);
  font-size: 0.875rem;
}

.auth-input::placeholder,
.profile-field-input::placeholder {
  font-weight: 300;
}

/* ── Buttons ── */
.hero-cta,
.auth-submit,
.auth-gate-cta,
.profile-save-btn,
.pro-unlock-btn,
.social-sidebar-cta,
.feed-composer-btn,
.feed-composer-submit,
.people-search-btn,
.net-btn,
.net-action-btn,
.people-card-action,
.dash-btn,
.feed-load-more-btn,
.network-empty-cta,
.pro-card-unlock-btn,
.paywall-subscribe-btn {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
}

/* ── Auth Google Btn ── */
.auth-google-btn {
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 500;
}

/* ── People Page Title ── */
.people-title {
  font-family: var(--serif);
  font-weight: 700;
  line-height: 1.1;
}

/* ── Network Page Title ── */
.network-page-title {
  font-family: var(--serif);
  font-weight: 700;
  line-height: 1.1;
}

/* ── Dashboard Auth Wall ── */
.dashboard-auth-wall h2 {
  font-family: var(--serif);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.15;
}

.dashboard-auth-wall p {
  font-family: var(--sans);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* ── AI Helper Chat ── */
.aih-chat-text {
  font-family: var(--sans);
  font-size: 0.875rem;
  line-height: 1.6;
}

.aih-chat-placeholder {
  font-family: var(--sans);
  font-size: 0.875rem;
}

.aih-result-value {
  font-family: var(--sans);
  font-size: 0.875rem;
  line-height: 1.6;
}

/* ── Paywall ── */
.paywall-amount {
  font-family: var(--serif);
}

/* ── Settings Items ── */
.dash-settings-item a {
  font-family: var(--sans);
  font-size: 0.875rem;
}

/* ── Card Polish: Metadata Opacity ── */
.feed-post-time,
.feed-post-author-headline,
.article-meta,
.people-card-headline,
.net-user-headline,
.pub-exp-period,
.pub-edu-year,
.pub-location,
.dash-activity-date,
.dash-profile-location,
.pro-hero-note,
.hero-date,
.nav-date {
  opacity: 0.7;
}

/* ── Spacing Normalization for Cards ── */
.article-card {
  padding: 2rem;
}

.feed-post-header {
  padding: 1.25rem 1.25rem 0;
}

.feed-post-content {
  padding: 1rem 1.25rem;
}

.pro-card {
  padding: 1.25rem 1.25rem;
}

.dash-card {
  padding: 1.25rem;
}

.pub-project-card {
  padding: 1.25rem;
}

.pro-profile-project-card {
  padding: 1.25rem;
}

.pro-profile-role-card {
  padding: 1rem;
}

.pro-profile-ai-card {
  padding: 1rem;
}
