/* ============================================================
   LIZABEELA Typography
   ============================================================ */

/* ── Headings ── */

.lzb-h1,
.lzb-h2,
.lzb-h3,
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--fw-normal);
  color: var(--color-text-primary);
}

.lzb-h1,
h1 {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: -0.01em;
}

.lzb-h2,
h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
}

.lzb-h3,
h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
}

h4 {
  font-size: var(--fs-h3-alt);
  line-height: 1.4;
}

h5 {
  font-size: var(--fs-body-sm);
  line-height: 1.5;
}

h6 {
  font-size: var(--fs-label);
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: var(--ls-label);
}

/* ── Body text ── */

.lzb-body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-normal);
  line-height: var(--lh-body);
  color: var(--color-text-primary);
}

.lzb-body--light {
  font-weight: var(--fw-light);
  color: var(--color-text-secondary);
}

.lzb-body--small {
  font-size: var(--fs-body-sm);
}

/* ── Labels ── */

.lzb-label {
  font-family: var(--font-body);
  font-size: var(--fs-label);
  font-weight: var(--fw-normal);
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: var(--ls-label);
}

.lzb-label--wide {
  letter-spacing: var(--ls-label-wide);
}

.lzb-label--medium {
  font-weight: var(--fw-medium);
}

/* ── Heading italic variants ── */

.lzb-h1 em,
.lzb-h1 i,
.lzb-h2 em,
.lzb-h2 i,
.lzb-h3 em,
.lzb-h3 i,
.lzb-heading-italic {
  font-family: var(--font-heading);
  font-style: italic;
}

/* ── Product title ── */

.lzb-product-title {
  font-family: var(--font-heading);
  font-size: var(--fs-product-title);
  font-weight: var(--fw-medium);
  line-height: 1.43;
  color: var(--color-text-primary);
}

/* ── Price ── */

.lzb-price {
  font-family: var(--font-body);
  font-size: var(--fs-body-sm);
  font-weight: var(--fw-normal);
  color: var(--color-accent);
  line-height: 1.43;
}

.lzb-price--lg {
  font-size: var(--fs-price-lg);
  font-family: var(--font-heading);
  line-height: 1.33;
}

.lzb-price--original {
  color: var(--color-muted-taupe);
  text-decoration: line-through;
  text-decoration-thickness: from-font;
  text-underline-position: from-font;
}

/* ── Testimonial quote ── */

.lzb-quote {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--fs-body-sm);
  line-height: 1.625;
}

/* ── Button text ── */

.lzb-btn-text {
  font-family: var(--font-body);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: var(--ls-button);
  text-align: center;
}

/* ── Utility text styles ── */

.lzb-text-center { text-align: center; }
.lzb-text-left { text-align: left; }
.lzb-text-right { text-align: right; }

.lzb-text-uppercase {
  text-transform: uppercase;
  letter-spacing: var(--ls-label);
}

.lzb-text-muted {
  color: var(--color-muted-taupe);
}

.lzb-text-accent {
  color: var(--color-accent);
}

.lzb-text-on-dark {
  color: var(--color-text-on-dark);
}

/* ── WordPress Alignment ── */

.aligncenter { text-align: center; }
.alignleft { float: left; margin-right: var(--space-lg); }
.alignright { float: right; margin-left: var(--space-lg); }
