/* ============================================================
   ACE FURNITURE REPAIR — FONTS
   ace-fonts.css
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Inter:wght@300;400;500;600;700&display=swap');

/* ── Font-face fallbacks ── */
@font-face {
  font-family: 'Playfair Display';
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  font-display: swap;
}

/* ── Display classes ── */
.ace-font-display { font-family: 'Playfair Display', Georgia, serif; }
.ace-font-body    { font-family: 'Inter', system-ui, sans-serif; }

.ace-font-light    { font-weight: 300; }
.ace-font-regular  { font-weight: 400; }
.ace-font-medium   { font-weight: 500; }
.ace-font-semibold { font-weight: 600; }
.ace-font-bold     { font-weight: 700; }

.ace-font-italic   { font-style: italic; }

/* ── Letter-spacing ── */
.ace-tracking-wide   { letter-spacing: 0.08em; }
.ace-tracking-wider  { letter-spacing: 0.14em; }
.ace-tracking-widest { letter-spacing: 0.22em; }

/* ── Line-height ── */
.ace-leading-tight  { line-height: 1.2; }
.ace-leading-snug   { line-height: 1.4; }
.ace-leading-normal { line-height: 1.7; }
.ace-leading-loose  { line-height: 2; }

/* ── Size helpers ── */
.ace-text-xs   { font-size: 0.75rem; }
.ace-text-sm   { font-size: 0.875rem; }
.ace-text-base { font-size: 1rem; }
.ace-text-lg   { font-size: 1.125rem; }
.ace-text-xl   { font-size: 1.25rem; }
.ace-text-2xl  { font-size: 1.5rem; }
.ace-text-3xl  { font-size: 1.875rem; }
.ace-text-4xl  { font-size: 2.25rem; }

/* ── Decorative dropcap ── */
.ace-dropcap::first-letter {
  font-family: 'Playfair Display', serif;
  font-size: 4.2rem;
  font-weight: 700;
  color: var(--ace-walnut);
  float: left;
  line-height: 0.8;
  margin-right: 12px;
  margin-top: 6px;
}

/* ── Pull quote ── */
.ace-pull-quote {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 400;
  font-style: italic;
  color: var(--ace-walnut);
  border-left: 4px solid var(--ace-gold);
  padding: 16px 24px;
  line-height: 1.6;
}

/* ── Uppercase overline ── */
.ace-overline {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ace-gold);
}
