/* =============================================
   Repair My PST — Fonts
   od-fonts.css
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600;1,8..60,300;1,8..60,400&display=swap');

/* ---- Font Size Scale ---- */
.od-fs-xs    { font-size: 0.75rem; }  /* 12px */
.od-fs-sm    { font-size: 0.875rem; } /* 14px */
.od-fs-base  { font-size: 1rem; }     /* 16px */
.od-fs-md    { font-size: 1.125rem; } /* 18px */
.od-fs-lg    { font-size: 1.25rem; }  /* 20px */
.od-fs-xl    { font-size: 1.5rem; }   /* 24px */
.od-fs-2xl   { font-size: 1.875rem; } /* 30px */
.od-fs-3xl   { font-size: 2.25rem; }  /* 36px */
.od-fs-4xl   { font-size: 3rem; }     /* 48px */
.od-fs-5xl   { font-size: 3.75rem; }  /* 60px */

/* ---- Font Weight Utilities ---- */
.od-fw-light    { font-weight: 300; }
.od-fw-regular  { font-weight: 400; }
.od-fw-medium   { font-weight: 500; }
.od-fw-semibold { font-weight: 600; }
.od-fw-bold     { font-weight: 700; }
.od-fw-extrabold{ font-weight: 800; }

/* ---- Font Family Utilities ---- */
.od-ff-display { font-family: 'Playfair Display', Georgia, serif; }
.od-ff-sans    { font-family: 'DM Sans', system-ui, sans-serif; }
.od-ff-serif   { font-family: 'Source Serif 4', Georgia, serif; }

/* ---- Text Style Utilities ---- */
.od-text-italic    { font-style: italic; }
.od-text-uppercase { text-transform: uppercase; }
.od-text-center    { text-align: center; }
.od-text-left      { text-align: left; }
.od-text-right     { text-align: right; }
.od-tracking-wide  { letter-spacing: 0.05em; }
.od-tracking-wider { letter-spacing: 0.1em; }
.od-tracking-widest{ letter-spacing: 0.15em; }
.od-leading-tight  { line-height: 1.2; }
.od-leading-snug   { line-height: 1.4; }
.od-leading-normal { line-height: 1.6; }
.od-leading-relaxed{ line-height: 1.8; }
.od-leading-loose  { line-height: 2; }

/* ---- Drop Cap ---- */
.od-dropcap::first-letter {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 4rem;
  font-weight: 800;
  float: left;
  line-height: 0.8;
  margin-right: 8px;
  margin-top: 8px;
  color: var(--od-primary);
}

/* ---- Pull Quote ---- */
.od-pullquote {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  font-style: italic;
  color: var(--od-primary);
  border-left: 4px solid var(--od-accent);
  padding: 16px 28px;
  margin: 40px 0;
  line-height: 1.5;
}

/* ---- Inline Code ---- */
.od-code {
  font-family: 'SF Mono', 'Fira Code', monospace;
  font-size: 0.85em;
  background: var(--od-gray-100);
  padding: 2px 7px;
  border-radius: 4px;
  color: var(--od-primary);
}
