/**
 * Typography Enhancements for Vinyl News Mag
 * Styled like HuffPost (Proxima Nova style)
 * 
 * Using Montserrat - the closest Google Fonts match to Proxima Nova
 */

/* Google Fonts Import - Montserrat (HuffPost style) */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500&display=swap');

/* ==========================================================================
   Root Typography Variables
   ========================================================================== */
:root {
  /* Font families - HuffPost inspired (Montserrat = Proxima Nova alternative) */
  --font-primary: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-heading: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-accent: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  
  /* Base font sizes */
  --font-size-base: 16px;
  --font-size-sm: 14px;
  --font-size-xs: 12px;
  --font-size-lg: 18px;
  
  /* Line heights optimized for reading */
  --line-height-tight: 1.2;
  --line-height-base: 1.6;
  --line-height-loose: 1.75;
  
  /* Letter spacing */
  --letter-spacing-tight: -0.01em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.03em;
  
  /* Colors - HuffPost inspired */
  --color-text-primary: #111111;
  --color-text-secondary: #333333;
  --color-text-muted: #767676;
  --color-link: #0a6640;
  --color-link-hover: #084d30;
}

/* ==========================================================================
   Base Typography
   ========================================================================== */

body {
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-text-primary);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* ==========================================================================
   Headings - Clear Visual Hierarchy
   ========================================================================== */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-tight);
  color: var(--color-text-primary);
  margin-top: 0;
  margin-bottom: 0.5em;
}

h1, .h1 {
  font-size: clamp(28px, 5vw, 42px);
  line-height: 1.2;
  font-weight: 800;
}

h2, .h2 {
  font-size: clamp(24px, 4vw, 32px);
  line-height: 1.25;
}

h3, .h3 {
  font-size: clamp(20px, 3vw, 26px);
  line-height: 1.3;
}

h4, .h4 {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: 1.35;
}

h5, .h5 {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
}

h6, .h6 {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-wide);
}

/* ==========================================================================
   Article Content - Primary Reading Area
   ========================================================================== */

.entry-content,
.page-content,
.comment-content {
  font-size: var(--font-size-base);
  line-height: var(--line-height-loose);
  color: var(--color-text-primary);
}

.entry-content p,
.page-content p,
.comment-content p {
  margin-bottom: 1.5em;
  orphans: 3;
  widows: 3;
}

/* First paragraph - slightly larger for emphasis */
.entry-content > p:first-of-type {
  font-size: var(--font-size-lg);
  line-height: 1.75;
  color: var(--color-text-primary);
}

/* Drop cap for first letter (optional elegant touch) */
.entry-content > p:first-of-type::first-letter {
  font-size: 3.5em;
  float: left;
  line-height: 0.8;
  margin-right: 0.1em;
  margin-top: 0.1em;
  font-weight: 700;
  color: var(--color-link);
}

/* Lists in content */
.entry-content ul,
.entry-content ol {
  margin-bottom: 1.5em;
  padding-left: 1.5em;
  line-height: var(--line-height-base);
}

.entry-content li {
  margin-bottom: 0.5em;
}

.entry-content li > ul,
.entry-content li > ol {
  margin-top: 0.5em;
  margin-bottom: 0;
}

/* ==========================================================================
   Single Post Title
   ========================================================================== */

.single header.entry-header h1.entry-title,
.single-post header.entry-header h1.entry-title {
  font-size: clamp(26px, 5vw, 40px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-bottom: 0.5em;
}

/* ==========================================================================
   Post Meta - Smaller, Lighter
   ========================================================================== */

.post-meta,
.entry-meta,
ul.post-meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  line-height: 1.5;
  letter-spacing: var(--letter-spacing-wide);
}

.post-meta li,
.entry-meta span {
  display: inline-block;
}

.meta-date,
.meta-author,
.meta-category {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
}

/* ==========================================================================
   Category Labels
   ========================================================================== */

.post-category,
a.post-category {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  display: inline-block;
}

/* ==========================================================================
   Post Cards and Excerpts
   ========================================================================== */

.card-title,
.post-card h3,
.archive-posts article h2.entry-title {
  font-size: clamp(18px, 3vw, 22px);
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.card-title a,
.post-card h3 a,
.archive-posts article h2.entry-title a {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

.card-title a:hover,
.post-card h3 a:hover,
.archive-posts article h2.entry-title a:hover {
  color: var(--color-link);
}

/* Excerpts */
.entry-summary,
.post-excerpt,
.card-text {
  font-size: var(--font-size-sm);
  line-height: 1.65;
  color: var(--color-text-secondary);
}

/* ==========================================================================
   Blockquotes - Styled for Impact
   ========================================================================== */

.entry-content blockquote,
blockquote {
  font-size: 1.15em;
  font-style: italic;
  line-height: 1.7;
  color: var(--color-text-secondary);
  border-left: 4px solid var(--color-link);
  margin: 2em 0;
  padding: 1em 0 1em 1.5em;
  background: rgba(0, 0, 0, 0.02);
}

.entry-content blockquote p:last-child {
  margin-bottom: 0;
}

blockquote cite {
  font-size: 0.85em;
  font-style: normal;
  font-weight: 600;
  color: var(--color-text-muted);
  display: block;
  margin-top: 0.75em;
}

blockquote cite::before {
  content: "— ";
}

/* ==========================================================================
   Links - Clear and Accessible
   ========================================================================== */

.entry-content a,
.page-content a,
.comment-content a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.entry-content a:hover,
.page-content a:hover,
.comment-content a:hover {
  color: var(--color-link-hover);
  text-decoration-thickness: 2px;
}

/* ==========================================================================
   Section Titles
   ========================================================================== */

.title-wrap h3,
.section-title h3,
.widget-title,
.section h3 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 12px;
  margin-bottom: 20px;
  position: relative;
}

/* ==========================================================================
   Widget Typography
   ========================================================================== */

.widget {
  font-size: var(--font-size-sm);
  line-height: 1.6;
}

.widget-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 1em;
}

.widget ul li {
  padding: 8px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.widget ul li:last-child {
  border-bottom: none;
}

/* ==========================================================================
   Comments Section
   ========================================================================== */

.comments-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 1.5em;
}

.comment-author .fn {
  font-weight: 700;
  font-size: 15px;
}

.comment-metadata {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}

.comment-content {
  font-size: var(--font-size-sm);
  line-height: 1.7;
  margin-top: 0.75em;
}

/* ==========================================================================
   Footer Typography
   ========================================================================== */

.site-footer {
  font-size: var(--font-size-sm);
  line-height: 1.6;
}

.site-footer .widget-title {
  font-size: 14px;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.9);
}

.site-info {
  font-size: var(--font-size-xs);
  letter-spacing: 0.02em;
}

/* ==========================================================================
   Responsive Typography
   ========================================================================== */

@media screen and (max-width: 768px) {
  :root {
    --font-size-base: 16px;
    --font-size-sm: 14px;
    --font-size-lg: 18px;
  }
  
  .entry-content,
  .page-content {
    line-height: 1.75;
  }
  
  /* Disable drop cap on mobile */
  .entry-content > p:first-of-type::first-letter {
    font-size: inherit;
    float: none;
    line-height: inherit;
    margin: 0;
  }
  
  .single header.entry-header h1.entry-title {
    font-size: 24px;
    line-height: 1.25;
  }
}

@media screen and (min-width: 1200px) {
  :root {
    --font-size-base: 18px;
    --font-size-lg: 20px;
  }
  
  .entry-content,
  .page-content {
    line-height: 1.9;
  }
}

/* ==========================================================================
   Print Typography
   ========================================================================== */

@media print {
  body {
    font-size: 12pt;
    line-height: 1.5;
    color: #000;
  }
  
  h1 { font-size: 24pt; }
  h2 { font-size: 18pt; }
  h3 { font-size: 14pt; }
  
  a {
    color: #000;
    text-decoration: underline;
  }
}
