/**
 * SVN-Gotham Font Utility Classes
 * KangStore Theme - Font Helper Classes
 * 
 * @package KangStore
 * @version 1.0.0
 */

/* ============================================
   Font Weight Utilities
   ============================================ */

.font-thin {
  font-weight: 100 !important;
}

.font-extralight,
.font-xlight {
  font-weight: 200 !important;
}

.font-light {
  font-weight: 300 !important;
}

.font-book {
  font-weight: 350 !important;
}

.font-normal,
.font-regular {
  font-weight: 400 !important;
}

.font-medium {
  font-weight: 500 !important;
}

.font-semibold {
  font-weight: 600 !important;
}

.font-bold {
  font-weight: 700 !important;
}

.font-extrabold {
  font-weight: 800 !important;
}

.font-black {
  font-weight: 900 !important;
}

.font-ultra {
  font-weight: 950 !important;
}

/* ============================================
   Font Style Utilities
   ============================================ */

.font-italic {
  font-style: italic !important;
}

.font-not-italic {
  font-style: normal !important;
}

/* ============================================
   Font Family Utilities
   ============================================ */

.font-gotham {
  font-family: 'SVN-Gotham', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* ============================================
   Combined Utilities (Weight + Style)
   ============================================ */

/* Thin Italic */
.font-thin-italic {
  font-weight: 100 !important;
  font-style: italic !important;
}

/* Light Italic */
.font-light-italic {
  font-weight: 300 !important;
  font-style: italic !important;
}

/* Book Italic */
.font-book-italic {
  font-weight: 350 !important;
  font-style: italic !important;
}

/* Regular Italic */
.font-regular-italic {
  font-weight: 400 !important;
  font-style: italic !important;
}

/* Bold Italic */
.font-bold-italic {
  font-weight: 700 !important;
  font-style: italic !important;
}

/* Black Italic */
.font-black-italic {
  font-weight: 900 !important;
  font-style: italic !important;
}

/* Ultra Italic */
.font-ultra-italic {
  font-weight: 950 !important;
  font-style: italic !important;
}

/* ============================================
   Heading Presets with SVN-Gotham
   ============================================ */

.heading-thin {
  font-weight: 100;
  line-height: 1.2;
}

.heading-light {
  font-weight: 300;
  line-height: 1.3;
}

.heading-regular {
  font-weight: 400;
  line-height: 1.4;
}

.heading-bold {
  font-weight: 700;
  line-height: 1.2;
}

.heading-black {
  font-weight: 900;
  line-height: 1.1;
}

.heading-ultra {
  font-weight: 950;
  line-height: 1.1;
}

/* ============================================
   Text Size + Weight Combinations
   ============================================ */

/* Display Text (Extra Large) */
.display-thin {
  font-size: 3.5rem;
  font-weight: 100;
  line-height: 1.1;
}

.display-light {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.1;
}

.display-regular {
  font-size: 3.5rem;
  font-weight: 400;
  line-height: 1.1;
}

.display-bold {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.1;
}

.display-black {
  font-size: 3.5rem;
  font-weight: 900;
  line-height: 1.1;
}

/* Title Text (Large) */
.title-thin {
  font-size: 2.5rem;
  font-weight: 100;
  line-height: 1.2;
}

.title-light {
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.title-regular {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
}

.title-bold {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.title-black {
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.2;
}

/* Body Text (Normal) */
.body-light {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.6;
}

.body-regular {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

.body-book {
  font-size: 1rem;
  font-weight: 350;
  line-height: 1.6;
}

.body-bold {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}

/* Caption Text (Small) */
.caption-light {
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.5;
}

.caption-regular {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}

.caption-bold {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}

/* ============================================
   Responsive Font Weights
   ============================================ */

@media (max-width: 768px) {
  .font-mobile-light {
    font-weight: 300 !important;
  }
  
  .font-mobile-regular {
    font-weight: 400 !important;
  }
  
  .font-mobile-bold {
    font-weight: 700 !important;
  }
  
  .font-mobile-black {
    font-weight: 900 !important;
  }
}

@media (min-width: 769px) {
  .font-desktop-thin {
    font-weight: 100 !important;
  }
  
  .font-desktop-light {
    font-weight: 300 !important;
  }
  
  .font-desktop-regular {
    font-weight: 400 !important;
  }
  
  .font-desktop-bold {
    font-weight: 700 !important;
  }
  
  .font-desktop-black {
    font-weight: 900 !important;
  }
  
  .font-desktop-ultra {
    font-weight: 950 !important;
  }
}

/* ============================================
   Letter Spacing Utilities (Gotham looks good with tracking)
   ============================================ */

.tracking-tighter {
  letter-spacing: -0.05em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-normal {
  letter-spacing: 0;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

/* ============================================
   Text Transform Utilities
   ============================================ */

.uppercase-gotham {
  text-transform: uppercase;
  letter-spacing: 0.05em; /* Gotham looks better with spacing in uppercase */
}

.lowercase-gotham {
  text-transform: lowercase;
}

.capitalize-gotham {
  text-transform: capitalize;
}

/* ============================================
   Special Effects with Gotham
   ============================================ */

/* Elegant thin uppercase headings */
.elegant-heading {
  font-weight: 100;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  line-height: 1.2;
}

/* Bold impact text */
.impact-text {
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1;
}

/* Clean modern paragraph */
.modern-paragraph {
  font-weight: 350;
  line-height: 1.7;
  letter-spacing: 0.01em;
}

/* Lightweight description */
.light-description {
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.005em;
  opacity: 0.8;
}

/* ============================================
   Button Styles with Gotham
   ============================================ */

.btn-gotham-light {
  font-weight: 400;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.btn-gotham-bold {
  font-weight: 700;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.btn-gotham-black {
  font-weight: 900;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

/* ============================================
   Print Styles
   ============================================ */

@media print {
  .font-thin,
  .font-xlight,
  .font-light {
    font-weight: 400 !important; /* Ensure readability in print */
  }
  
  .font-ultra,
  .font-black {
    font-weight: 700 !important; /* Prevent too heavy in print */
  }
}

/* ============================================
   Accessibility
   ============================================ */

/* Ensure minimum contrast for thin weights */
.font-thin,
.font-xlight,
.font-light {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Optimize bold weights for better rendering */
.font-bold,
.font-black,
.font-ultra {
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
