/* 
 * Font Optimization CSS
 * Este archivo contiene métricas de fuente para prevenir layout shifts
 * y optimizar la carga de fuentes con font-display: swap
 */

/* Métricas para Plus Jakarta Sans */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-display: swap;
  font-style: normal;
  font-weight: 200;
  src: local('Plus Jakarta Sans ExtraLight'), local('PlusJakartaSans-ExtraLight');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-display: swap;
  font-style: normal;
  font-weight: 300;
  src: local('Plus Jakarta Sans Light'), local('PlusJakartaSans-Light');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: local('Plus Jakarta Sans Regular'), local('PlusJakartaSans-Regular');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  src: local('Plus Jakarta Sans Medium'), local('PlusJakartaSans-Medium');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-display: swap;
  font-style: normal;
  font-weight: 600;
  src: local('Plus Jakarta Sans SemiBold'), local('PlusJakartaSans-SemiBold');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  src: local('Plus Jakarta Sans Bold'), local('PlusJakartaSans-Bold');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-display: swap;
  font-style: normal;
  font-weight: 800;
  src: local('Plus Jakarta Sans ExtraBold'), local('PlusJakartaSans-ExtraBold');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

/* Métricas para Marcellus */
@font-face {
  font-family: 'Marcellus';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: local('Marcellus Regular'), local('Marcellus-Regular');
  ascent-override: 110%;
  descent-override: 40%;
  line-gap-override: 15%;
  size-adjust: 100%;
}

/* Métricas para Whisper */
@font-face {
  font-family: 'Whisper';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: local('Whisper Regular'), local('Whisper-Regular');
  ascent-override: 115%;
  descent-override: 45%;
  line-gap-override: 20%;
  size-adjust: 100%;
}

/* Métricas para Poppins (usado en dashboard) */
@font-face {
  font-family: 'Poppins';
  font-display: swap;
  font-style: normal;
  font-weight: 300;
  src: local('Poppins Light'), local('Poppins-Light');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Poppins';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: local('Poppins Regular'), local('Poppins-Regular');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Poppins';
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  src: local('Poppins Medium'), local('Poppins-Medium');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Poppins';
  font-display: swap;
  font-style: normal;
  font-weight: 600;
  src: local('Poppins SemiBold'), local('Poppins-SemiBold');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Poppins';
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  src: local('Poppins Bold'), local('Poppins-Bold');
  ascent-override: 105%;
  descent-override: 35%;
  line-gap-override: 10%;
  size-adjust: 100%;
}

/* Métricas para Montserrat (usado en algunos componentes) */
@font-face {
  font-family: 'Montserrat';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: local('Montserrat Regular'), local('Montserrat-Regular');
  ascent-override: 108%;
  descent-override: 38%;
  line-gap-override: 12%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Montserrat';
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  src: local('Montserrat Medium'), local('Montserrat-Medium');
  ascent-override: 108%;
  descent-override: 38%;
  line-gap-override: 12%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Montserrat';
  font-display: swap;
  font-style: normal;
  font-weight: 600;
  src: local('Montserrat SemiBold'), local('Montserrat-SemiBold');
  ascent-override: 108%;
  descent-override: 38%;
  line-gap-override: 12%;
  size-adjust: 100%;
}

@font-face {
  font-family: 'Montserrat';
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  src: local('Montserrat Bold'), local('Montserrat-Bold');
  ascent-override: 108%;
  descent-override: 38%;
  line-gap-override: 12%;
  size-adjust: 100%;
}

/* Optimización adicional para prevenir layout shifts */
.font-loading {
  font-display: swap;
}

/* Fallback fonts para mejor rendimiento */
.font-fallback {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.font-heading-fallback {
  font-family: 'Marcellus', Georgia, 'Times New Roman', Times, serif;
}

.font-special-fallback {
  font-family: 'Whisper', cursive, 'Brush Script MT', cursive;
}
