/* ============================================
   QELIVRO - Fonts Stylesheet
   https://qelivro.com
   ============================================ */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,700;0,9..144,900;1,9..144,300;1,9..144,400;1,9..144,700&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,300;1,9..40,400&display=swap');

/* ============================================
   FONT VARIABLE DEFINITIONS
   ============================================ */
:root {
  --qelivro-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --qelivro-font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ============================================
   BASE FONT ASSIGNMENTS
   ============================================ */
body {
  font-family: var(--qelivro-font-body);
  font-size: 16px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Heading font assignments */
h1, h2, h3, h4, h5, h6,
.qelivro-display,
.qelivro-heading {
  font-family: var(--qelivro-font-display);
}

/* Body font assignments */
p, a, span, button, input, textarea, select, label,
.qelivro-body-text {
  font-family: var(--qelivro-font-body);
}

/* ============================================
   FONT SIZE SCALE
   ============================================ */
.qelivro-text-xs   { font-size: 0.75rem;  line-height: 1.4; }
.qelivro-text-sm   { font-size: 0.875rem; line-height: 1.5; }
.qelivro-text-base { font-size: 1rem;     line-height: 1.7; }
.qelivro-text-lg   { font-size: 1.125rem; line-height: 1.7; }
.qelivro-text-xl   { font-size: 1.25rem;  line-height: 1.6; }
.qelivro-text-2xl  { font-size: 1.5rem;   line-height: 1.4; }
.qelivro-text-3xl  { font-size: 2rem;     line-height: 1.3; }
.qelivro-text-4xl  { font-size: 2.5rem;   line-height: 1.2; }
.qelivro-text-5xl  { font-size: 3.5rem;   line-height: 1.1; }

/* ============================================
   FONT WEIGHT UTILITIES
   ============================================ */
.qelivro-font-light    { font-weight: 300; }
.qelivro-font-regular  { font-weight: 400; }
.qelivro-font-medium   { font-weight: 500; }
.qelivro-font-semibold { font-weight: 600; }
.qelivro-font-bold     { font-weight: 700; }
.qelivro-font-black    { font-weight: 900; }

/* ============================================
   SPECIAL TYPOGRAPHIC TREATMENTS
   ============================================ */
.qelivro-display-hero {
  font-family: var(--qelivro-font-display);
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -1px;
}

.qelivro-label-caps {
  font-family: var(--qelivro-font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.qelivro-italic-display {
  font-family: var(--qelivro-font-display);
  font-style: italic;
  font-weight: 300;
}

.qelivro-quote-text {
  font-family: var(--qelivro-font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1.7;
}

/* ============================================
   ARTICLE TYPOGRAPHY
   ============================================ */
.qelivro-article-body {
  font-family: var(--qelivro-font-body);
  font-size: 1.05rem;
  line-height: 1.85;
  color: #374151;
}

.qelivro-article-body > p:first-of-type::first-letter {
  font-family: var(--qelivro-font-display);
  font-size: 3.5rem;
  font-weight: 900;
  float: left;
  line-height: 0.8;
  margin-right: 0.1em;
  margin-top: 0.1em;
  color: #00a896;
}

.qelivro-article-lead {
  font-size: 1.2rem;
  color: #4a5568;
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: 2rem;
}

/* ============================================
   FALLBACK FONT STACKS
   ============================================ */
@supports not (font-family: 'Fraunces') {
  h1, h2, h3, h4, h5, h6 {
    font-family: Georgia, 'Times New Roman', Times, serif;
  }
}

@supports not (font-family: 'DM Sans') {
  body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  }
}
