/* Sofia Sans Typography Classes */

/* Regular weights */
.sofia-sans-100 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
}

.sofia-sans-200 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}

.sofia-sans-300 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.sofia-sans-400 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.sofia-sans-500 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.sofia-sans-600 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.sofia-sans-700 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.sofia-sans-800 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

.sofia-sans-900 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.sofia-sans-1000 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 1000;
  font-style: normal;
}

/* Italic weights */
.sofia-sans-100-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: italic;
}

.sofia-sans-200-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: italic;
}

.sofia-sans-300-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: italic;
}

.sofia-sans-400-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: italic;
}

.sofia-sans-500-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: italic;
}

.sofia-sans-600-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: italic;
}

.sofia-sans-700-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: italic;
}

.sofia-sans-800-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: italic;
}

.sofia-sans-900-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: italic;
}

.sofia-sans-1000-italic {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 1000;
  font-style: italic;
}

/* Typography system classes */
.text-light {
  font-weight: 300;
}

.text-regular {
  font-weight: 400;
}

.text-medium {
  font-weight: 500;
}

.text-semibold {
  font-weight: 600;
}

.text-bold {
  font-weight: 700;
}

.text-extrabold {
  font-weight: 800;
}

.text-black {
  font-weight: 900;
}

.text-ultra {
  font-weight: 1000;
}

/* Heading styles with Sofia Sans */
h1, h2, h3, h4, h5, h6 {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
}

h1 {
  font-weight: 700;
}

h2 {
  font-weight: 600;
}

h3 {
  font-weight: 600;
}

h4 {
  font-weight: 500;
}

h5 {
  font-weight: 500;
}

h6 {
  font-weight: 500;
}

/* Button typography */
.btn {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
}

/* Navigation typography */
.navbar-nav .nav-link {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
}

/* Card typography */
.card-title {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
}

.card-text {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

/* Form typography */
.form-label {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
}

.form-control {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

/* Table typography */
.table th {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
}

.table td {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
}
