/* Local Fonts */
@font-face {
  font-family: "Le-Jour-Serif";
  src: url("../fonts/Le-Jour-Serif-Personal-Use-Only.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Le-Jour-Serif";
  src: url("../fonts/Le-Jour-Script-Personal-Use-Only.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

body {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #2b2b2b;
  text-align: justify;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-headline);
  font-weight: 600;
  line-height: var(--leading-tight);
}

h1 {
  font-size: 21px;
  text-align: justify;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--space-8);
}

@media (min-width: 768px) {
  h1 {
    font-size: 32px;
    max-width: 800px;
  }
}

h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.serif-font {
  font-family: var(--font-headline);
}

.material-symbols-outlined {
  font-variation-settings:
    "FILL" 0,
    "wght" 200,
    "GRAD" 0,
    "opsz" 24;
  font-size: 1.5rem;
  vertical-align: middle;
}

/* Headline Styles */
.headline-xl {
  font-family: var(--font-headline);
  font-size: var(--text-5xl);
  font-weight: 600;
  line-height: var(--leading-tight);
}

.headline-lg {
  font-family: var(--font-headline);
  font-size: var(--text-4xl);
  font-weight: 600;
  line-height: var(--leading-tight);
}

.headline-md {
  font-family: var(--font-headline);
  font-size: var(--text-3xl);
  font-weight: 600;
  line-height: var(--leading-snug);
}

.headline-sm {
  font-family: var(--font-headline);
  font-size: var(--text-2xl);
  font-weight: 600;
  line-height: var(--leading-snug);
}

/* Body Text Styles */
.body-lg {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
  font-weight: 400;
}

.body-md {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  font-weight: 400;
}

.body-sm {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  font-weight: 400;
}

/* Label Styles */
.label-lg {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.label-md {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.label-sm {
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Italic Styles */
.italic {
  font-style: italic;
}

/* Color utilities */
.text-primary {
  color: var(--color-primary);
}
.text-secondary {
  color: var(--color-secondary);
}
.text-on-surface {
  color: var(--color-on-surface);
}
.text-on-surface-variant {
  color: var(--color-on-surface-variant);
}

/* Button Styles */
.button {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
