/* Font Size Reduction - Matching Enhancv.com style
 * Reduces all font sizes by approximately 20-25% for a more refined, professional look
 * Additional 5% reduction applied to all sizes
 * This creates a cleaner, more compact design similar to professional resume/CV websites
 * 
 * IMPORTANT: This CSS must load AFTER Tailwind CDN to override runtime-generated styles
 * Using high specificity selectors to ensure overrides work
 */

/* ---------------------------------------------------------- */
/* Compact density mode (extra reduction for tighter viewports) */
/* ---------------------------------------------------------- */
html.density-compact body .text-xs,
html.density-compact body .text-xs *,
html.density-compact body * .text-xs {
  font-size: 0.55rem !important;
}

html.density-compact body .text-sm,
html.density-compact body .text-sm *,
html.density-compact body * .text-sm {
  font-size: 0.65rem !important;
}

html.density-compact body .text-base,
html.density-compact body .text-base *,
html.density-compact body * .text-base {
  font-size: 0.78rem !important;
}

html.density-compact body .text-lg,
html.density-compact body .text-lg *,
html.density-compact body * .text-lg {
  font-size: 0.88rem !important;
}

html.density-compact body .text-xl,
html.density-compact body .text-xl *,
html.density-compact body * .text-xl {
  font-size: 0.98rem !important;
}

html.density-compact body .text-2xl,
html.density-compact body .text-2xl *,
html.density-compact body * .text-2xl {
  font-size: 1.15rem !important;
}

html.density-compact body .text-3xl,
html.density-compact body .text-3xl *,
html.density-compact body * .text-3xl {
  font-size: 1.35rem !important;
}

html.density-compact body .text-4xl,
html.density-compact body .text-4xl *,
html.density-compact body * .text-4xl {
  font-size: 1.65rem !important;
}

html.density-compact body .text-5xl,
html.density-compact body .text-5xl *,
html.density-compact body * .text-5xl {
  font-size: 2.05rem !important;
}

html.density-compact body .text-6xl,
html.density-compact body .text-6xl *,
html.density-compact body * .text-6xl {
  font-size: 2.45rem !important;
}

html.density-compact body .text-7xl,
html.density-compact body .text-7xl *,
html.density-compact body * .text-7xl {
  font-size: 3.2rem !important;
}

@media (min-width: 768px) {
  html.density-compact body .md\:text-3xl,
  html.density-compact body * .md\:text-3xl {
    font-size: 1.35rem !important;
  }
  
  html.density-compact body .md\:text-4xl,
  html.density-compact body * .md\:text-4xl {
    font-size: 1.65rem !important;
  }
  
  html.density-compact body .md\:text-5xl,
  html.density-compact body * .md\:text-5xl {
    font-size: 2.05rem !important;
  }
  
  html.density-compact body .md\:text-6xl,
  html.density-compact body * .md\:text-6xl {
    font-size: 2.45rem !important;
  }
}

@media (min-width: 1024px) {
  html.density-compact body .lg\:text-5xl,
  html.density-compact body * .lg\:text-5xl {
    font-size: 2.05rem !important;
  }
  
  html.density-compact body .lg\:text-6xl,
  html.density-compact body * .lg\:text-6xl {
    font-size: 2.45rem !important;
  }
  
  html.density-compact body .lg\:text-7xl,
  html.density-compact body * .lg\:text-7xl {
    font-size: 3.2rem !important;
  }
}

html.density-compact body {
  font-size: 0.8rem !important;
}

html.density-compact .credit-card,
html.density-compact .feature-card,
html.density-compact .service-card {
  padding: 0.85rem !important;
}

html.density-compact .grid.gap-4,
html.density-compact .grid.gap-6,
html.density-compact .grid.gap-8 {
  row-gap: 0.85rem !important;
  column-gap: 0.85rem !important;
}

html.density-compact .grid.gap-3 {
  row-gap: 0.55rem !important;
  column-gap: 0.55rem !important;
}

html.density-compact .space-y-12 > * + *,
html.density-compact .space-y-8 > * + *,
html.density-compact .space-y-6 > * + * {
  margin-top: 0.75rem !important;
}

html.density-compact .space-y-4 > * + * {
  margin-top: 0.55rem !important;
}

html.density-compact .space-y-3 > * + * {
  margin-top: 0.4rem !important;
}

html.density-compact .mb-12 {
  margin-bottom: 0.95rem !important;
}

html.density-compact .mb-8 {
  margin-bottom: 0.75rem !important;
}

html.density-compact .pt-20 {
  padding-top: 4.2rem !important;
}

html.density-compact .pb-12 {
  padding-bottom: 1.2rem !important;
}

html.density-compact .pt-28 {
  padding-top: 4.2rem !important;
}

html.density-compact .pt-32 {
  padding-top: 4.8rem !important;
}

html.density-compact .pb-24 {
  padding-bottom: 1.8rem !important;
}

html.density-compact .px-6 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

html.density-compact .px-4 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

html.density-compact .py-2 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

html.density-compact .py-4 {
  padding-top: 0.6rem !important;
  padding-bottom: 0.6rem !important;
}

html.density-compact .p-6 {
  padding: 0.85rem !important;
}

html.density-compact .p-4 {
  padding: 0.6rem !important;
}

html.density-compact .p-8 {
  padding: 1rem !important;
}

html.density-compact .rounded-xl {
  border-radius: 0.6rem !important;
}

html.density-compact .rounded-2xl {
  border-radius: 0.85rem !important;
}

html.density-compact .max-w-7xl {
  max-width: 75rem !important;
}

html.density-compact .h-12 {
  height: 2.1rem !important;
}

html.density-compact .h-14 {
  height: 2.35rem !important;
}

html.density-compact i[data-lucide],
html.density-compact svg[data-lucide] {
  transform: scale(0.85) !important;
}

html.density-compact p,
html.density-compact li {
  font-size: 0.78rem !important;
  line-height: 1.5 !important;
  margin-bottom: 0.5rem !important;
}

html.density-compact h1 { font-size: 1.7rem !important; }
html.density-compact h2 { font-size: 1.35rem !important; }
html.density-compact h3 { font-size: 1.15rem !important; }
html.density-compact h4 { font-size: 1rem !important; }
html.density-compact h5 { font-size: 0.9rem !important; }
html.density-compact h6 { font-size: 0.8rem !important; }

