/* Global Typography Reset & Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 1rem; /* 16px base */
  font-weight: 400;
  line-height: 1.6;
  color: #333;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1rem;
  color: #ff66c4; /* Primary pink for emphasis */
}

h1 {
  font-size: 3rem; /* 48px */
  font-weight: 400;
}

h2 {
  font-size: 2.5rem; /* 40px */
}

h3 {
  font-size: 2rem; /* 32px */
}

h4 {
  font-size: 1.75rem; /* 28px */
}

h5 {
  font-size: 1.5rem; /* 24px */
  font-weight: 300;
}

h6 {
  font-size: 1.25rem; /* 20px */
}

/* Paragraphs & Body Text */
p {
  margin-bottom: 1rem;
  font-size: 1rem;
}

.lead {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
}

/* Links */
a {
  color: #ff66c4;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #e55ab8; /* Slightly darker pink on hover */
  text-decoration: underline;
}

/* Lists */
ul, ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

li {
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.list-unstyled {
  padding-left: 0;
}

.list-unstyled li {
  margin-bottom: 0.25rem;
}

/* Blockquotes (for Quotes/Testimonials) */
blockquote {
  font-family: 'Poppins', sans-serif;
  font-style: italic !important;
  font-size: 0.875rem;
  font-weight: 200;
  border-left: 4px solid #ff66c4;
  padding-left: 1.5rem;
  margin: 1.5rem 0;
  color: #555;
}

/* Small Text (e.g., Captions, Footnotes) */
small, .small {
  font-size: 0.875rem;
  font-weight: 300;
  color: #666;
}

/* Emphasis Classes (Optional Modifiers for Components) */
.heading-primary {
  color: #ff66c4;
  font-weight: 700;
}

.text-muted {
  color: #6c757d !important; /* Bootstrap override for consistency */
}

.text-white {
  color: #fff !important;
}

/* Responsive Typography */
@media (max-width: 768px) {
  h1 { font-size: 2.25rem; } /* 36px */
  h2 { font-size: 2rem; }    /* 32px */
  h3 { font-size: 1.75rem; } /* 28px */
  body { font-size: 0.9375rem; } /* 15px for mobile */
}

@media (max-width: 480px) {
  h1 { font-size: 2rem; }    /* 32px */
  body { line-height: 1.5; } /* Tighter for small screens */
}

/* Dark Mode Support (Optional: Toggle via class on body) */
@media (prefers-color-scheme: dark) {
  body.dark-mode {
    color: #e9ecef;
    background-color: #212529;
  }
  
  h1, h2, h3, h4, h5, h6 {
    color: #ff66c4;
  }
  
  .text-muted {
    color: #adb5bd !important;
  }
}

.link-primary {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  color: #a100f2 !important;
}