/* ===================================
   Font Configuration
   Local Fonts - Self-Hosted
   =================================== */

/* Font Loading Optimization */
/* Local fonts loaded from assets/fonts directory */

/* Cormorant Font Family - Headings & Display */
@font-face {
  font-family: 'Cormorant';
  src: url('../fonts/Cormorant-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant';
  src: url('../fonts/Cormorant-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant';
  src: url('../fonts/Cormorant-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant';
  src: url('../fonts/Cormorant-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Montserrat Font Family - Body Text */
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* South Castle Font Family - Logo */
@font-face {
  font-family: 'South Castle';
  src: url('../fonts/South%20Castle.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap; /* Swap to improve performance - prevents blocking */
}

/* Font Variables - Centralized */
:root {
  /* Primary Font Stack - Body Text */
  --font-primary: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  
  /* Secondary Font Stack - Headings & Display & Buttons */
  --font-secondary: 'Cormorant', 'Cormorant Garamond', Georgia, serif;
  
  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* Font Sizes - Optimized with consistent proportional scaling */
  /* Uses proper clamp() formula: clamp(min, viewport-calculation, max) */
  /* All sizes scale consistently ~20-25% from mobile to desktop */
  --font-size-xxs: clamp(0.75rem, 0.7vw + 0.65rem, 0.875rem);    /* 12-14px */
  --font-size-xs:  clamp(0.875rem, 0.8vw + 0.775rem, 1rem);      /* 14-16px */
  --font-size-sm:  clamp(1rem, 0.9vw + 0.9rem, 1.125rem);        /* 16-18px */
  --font-size-base: clamp(1rem, 1vw + 0.9rem, 1.25rem);          /* 16-20px */
  --font-size-lg:  clamp(1.125rem, 1.1vw + 1rem, 1.375rem);      /* 18-22px */
  --font-size-xl:  clamp(1.375rem, 1.5vw + 1.2rem, 1.75rem);     /* 22-28px */
  --font-size-2xl: clamp(1.75rem, 2vw + 1.5rem, 2.25rem);        /* 28-36px */
  --font-size-3xl: clamp(2.25rem, 2.5vw + 2rem, 3rem);           /* 36-48px */
  
  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.7;
}

/* Base Typography */
body {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-relaxed);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-secondary);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-tight);
}

/* Logo */
.logo {
  font-family: 'South Castle', var(--font-secondary);
  font-weight: var(--font-weight-semibold);
}

/* Form Elements */
input, textarea, select {
  font-family: var(--font-primary);
}

/* Button Text */
button, .btn {
  font-family: var(--font-secondary);
  font-weight: var(--font-weight-normal);
}
